Method and apparatus for generating a link to a presented web page

ABSTRACT

A technique for generating links to a web page by: presenting a web page; defining one or more other web pages to include a link to the presented web page; and placing a link on at least one of the other web pages linking to the presented web page. A prompt for an acceptance of the link may be presented to the other web pages whereby a link is not added until the corresponding acceptance of the link is received.

RELATED APPLICATIONS

This application is a Continuation Application of U.S. application Ser.No. 09/651,875, filed on Aug. 30, 2000, which claims priority to U.S.Provisional Application 60/163,782, filed Nov. 5, 1999 and U.S.Provisional Application 60/184,300, filed Feb. 23, 2000, all of whichare hereby incorporated by reference in their entirety herein.

BACKGROUND OF THE INVENTION

This invention relates generally to a method and apparatus for providinga universal interface for managing content on large computer networksand other devices.

In recent times, the World Wide Web maintained on the Internet, as wellas other large networks of computers and other devices, has become aprevalent communications medium for wide-ranging purposes frominformation gathering and exchange to commercial transactions. Aspersonal devices, such as computers, personal digital assistants(“PDA”s), cellular phones, etc., are becoming increasingly integratedwith this medium, individuals are becoming more reliant on the contentand services offered. As a result, it has become an important marketingand sales tool for various businesses.

For example, a business can advertise its products or services, acceptorders for its products and services, receive various inquiries andother information from the general public, and in many other waysincrease the ability to provide information to the public through theWeb.

To take advantage of this new media outlet, it is necessary for abusiness to design and maintain a web site that users can visit, and topermit the desired interaction with the users. The procedure fordesigning a web site has historically taken one of two paths. First, itis possible for a business to purchase a software package that aids ingenerating such a web site. However, the look and feel of the web sitewould typically be similar to all other web sites generated with thesame software package because the number of choices of design or“templates” is limited. Additionally, it may be difficult to coordinateand pool a wide range of skills from various personnel required tocreate such a web site. Furthermore, web sites created with such asoftware product typically do not have the level of complexity desiredby businesses.

To overcome these drawbacks, a business may hire an outside consultingfirm to generate its web site. Such a consulting firm may be an expertin web site generation, and may include personnel able to generate ahigh quality, complex web site in accordance with the business owner'sdesires. However, use of an outside firm includes various drawbacks.There is typically a long delay in generating a web site because theoutside service is busy with many clients. Additionally, the businessowner who has the most in-depth understanding of the business is notdirectly involved with the generation of the web site, and thereforemust relate this information to the web site designers, who then usethis information to generate the web site. It may take a number ofiterations for the business owner to have his or her ideas about thebusiness properly included in the web site. Additionally, because anoutside consultant is designing the web site, artistic control for theweb site must be given from the business owner to the web site designer.While the business owner may have the opportunity to make commentsduring design of the site, it is not possible for the business owner tobe involved on a day to day basis in every aspect of the design of thesite. Indeed this is why outside designers are hired, but at a cost. Theresulting site may not be precisely what the business owner desires, andmay be very expensive to implement.

Further, once the design of the web site is completed and the site is upand running on the World Wide Web, the maintenance costs for maintainingand updating a site may be substantial. Any additions to the site, suchas adding new pages or new sections, may be very expensive. Furthermore,such added pages may not fit in with the overall scheme of the web site,thereby resulting in an unwieldy site. Additionally, while a web sitemay provide links to other web sites, it is typically difficult for anindividual user to incorporate various complementary programs within itsweb site, such as calculators, or other business or scientific relatedinformation that perform a function.

Therefore, in general, the use of an outside firm to provide a web siteisolates the business owners from the finished product in a way that theweb site may become unwieldy to update, and therefore less useful for abusiness owner.

One of the current trends in web site development products is theability to drag objects and position them anywhere on the screen. Whilethis ability would seem to be beneficial, the process of draggingobjects around a screen may result in the user drastically affecting thecompatibility of their web site with their visitors. This problem is aresult of the user possibly placing objects outside of the visibility ofthe visitors' web browser. Such a problem may arise if the user isdeveloping a web site at say 1024×768 resolution, but the visitor isviewing the web site at 800×600 resolution. A user may place an objectin a location that is unviewable by the visitor. Another example ofincompatibility is when a user is developing a web site in a 800×600resolution, but the visitor is viewing the web site at say 1024×768, thevisitor will see a large area of “space” that does not fill the browserbecause of “fixed width” development of the web site. This developmenttrend is seen as limiting as it does not cater for future screen andbrowser resolution compatibility.

The barriers to completing a usable and impressive web site noted abovearise as a result of the division that exists between a business thatwishes to advertise through a web site and the resources required tocreate and maintain that site. The skills required include hardware andsoftware maintenance, business analysis, authoring of the web site withvarious page layout features, graphic design, generation of the web sitecontent, actual computer programming and maintaining of a required database. These skills require specialized knowledge of various tools by auser, including flow charting tools, various programming languageknowledge, such as in HyperText Markup Language (“HTML”), JAVA™,JAVASCRIPT™, etc., graphic design using Photo Shop™, Paint Shop Pro™ orother graphics design program, use of a word processor, and use ofvarious database programs.

As is obvious, these skills and products require people having widelydiffering backgrounds to work together as a team to create a qualityproduct that exists in what many naturally feel to be both a new andalien environment, the Internet. These people who collectively possessthe skills to create a particular web site are not likely to be theowners of the business that is requesting the web site, and indeed inmany cases are not in any way connected to the business owners who wishto generate the web site, or to each other. For this reason, maintenanceof a quality web site in-house is very costly, and may be nearlyimpossible for many small businesses. Any web site that cannot beproperly maintained soon fails in its goal of being an inexpensive,efficient, accurate and flattering representation of the company. As theinformation included in the web site becomes out-of-date, andunprofessional graphics and layouts are incorporated by unskilledpersonnel during maintenance, the entire look and feel of the web sitedeteriorates.

In general, these methods of web site generation may be categorized as“one-to-one”—that is, each individual web site requires theparticipation of a programming and design team to implement and maintainthe site. Moreover, it has also recently become desirable to have anoutside company host the web site to absorb the costs of maintaining theserver hardware and software up-to-date and to flexibly handlevariations and unexpected changes in traffic and volume of visitors andtransactions on the web site. Such an outside company may becolloquially referred to as a “server farm”. In general, a server farmseeks to create economies of scale by having a single company that isexpert in the maintenance of the web server maintain and update thehardware and software necessary for the operation of a number of websites. As web traffic and business grows, each company having a web sitewith the server farm will in theory not have to individually maintainpersonnel capable of scaling the servers to handle the traffic andbusiness.

But to date, the server farm theory has suffered from the problem thatcontrol of the web site is further disconnected from the operators ofthe business. Changes to the content, structure and design of the website are complex and expensive. Because the design and implementationare “one-to-one” there has been no means available for rapidproliferation of sites hosted by an outside server host, i.e., a methodthat does not require involvement of an experienced design and/orprogrammer for each site that is to be hosted.

Therefore, it would be beneficial to provide a web site generationmethod and apparatus that overcomes these drawbacks.

OBJECTS OF THE INVENTION

Accordingly, it is an object of this invention to provide an improvedmethod and apparatus for web site generation that harnesses andcoordinates all the resources required for creating, updating andmaintaining a quality web site.

A further object of the invention is to provide an improved method andapparatus for web site generation that allows a user to make variousselections regarding design of a web site and for the web site tomaintain an overall consistency, regardless of these choices.

Another object of the invention is to provide an improved method andapparatus for web site generation that allows for the collection ofvarious information from an external database to be used in makingautomatic selections regarding the design of a web site.

An additional object of the invention is to provide an improved methodand apparatus in which a user may change the look and feel of a web siteeasily and throughout the web site, but the content and navigation ofthe web site is maintained.

Yet another object of the invention is to provide an improved method andapparatus for web site generation that allows various applications to belaunched from within the generated web site while maintaining a user atthe web site.

A still further object of the invention is to allow those who areresponsible to a particular business, individual or other party tocontrol, manage, and easily modify both the content and the presentationstyle of the information in the web site.

It is an additional object of the invention to provide a method andapparatus for web site generation and maintenance that allows forcentralized hosting of a number of web sites through a method thatallows for rapid proliferation of the hosted sites without the need forexperienced design and programming personnel to be involved on asite-by-site basis.

It is yet a further object of the invention to provide a method andapparatus for generating a functional web site that allows for thetaking and fulfillment of purchase orders.

Yet another object of the invention is to capture differing skills ofindividual people necessary to generate a web site so that these skillscan be combined in a “1-to-many” format, thereby insuring that a singleperson or skill is not restricted to a single web user but becomesavailable to all users.

Yet another object of the invention is to provide a method and apparatuswhere each graphical image can be stored as images and yet have textualcontent rendered and delivered as part of the graphical image, thusproviding a dynamic method of providing a combination of content andgraphical information.

Still other objects and advantages of the invention will impart theobvious and will impart the apparent from the specification and thedrawings.

SUMMARY OF THE INVENTION

In accordance with one embodiment of the invention, a Universal ContentManager (“UCM”) is provided by integrating, within one Internetnavigation interface: a complete business web site solution;extranet/private Network, enabling companies to safely and efficientlydeal with partners, vendors and suppliers; LifeSite, providingindividuals and families with fully-realized and powerful personalInternet capabilities; comprehensive e-mail management; and storing andretrieving business financial and/or personal information.

In accordance with one aspect of the invention, there is provided animproved method and apparatus for generating and maintaining acustomized web site, and more particularly to a method and apparatus forallowing an inexperienced user to make various design and contentselections for generation of a customized web site. Regardless of theselections made by a user, correspondence between these selections ismaintained by the apparatus such that each web site appears as acustomized individual web site. A user may be prohibited or discouragedfrom making design choices that might detract from the overall look andfeel of the site.

The user portion of the system includes a web site provider (hereinafterDefiner) which acts as an assembly line for an end-user to generate acustomized web site. The Definer references a large amount of diverseresources and presents them to a user for easy and intuitive assemblyinto a polished, complete web site. All of these resources can beprovided to the end-user without the need for any specialized knowledgeon the part of the user, and without the necessity for the user to be indirect contact with any skilled contributors to the web site generationprocess. The Definer is the user interface, or front end of a suite ofcomplementary products designed to create a cohesive environmentallowing various people with the numerous skills noted above that arerequired to build a web site to perform in harmony, thereby generatingan environment that facilitates teamwork between web creators and web orbusiness owners.

The Definer in accordance with the invention includes various modules,including a site provider (Site Definer) for defining the structure,content and embedded applications of a web site, a framework provider(Framework Definer) which provides various layout variations for a website, an image provider (Image Definer) which allows for the selectionand maintenance of various images on a web site, a Project Manager whichcoordinates the three prior Definer Publishing products to produce aprofessional multi-dimensional web site solution, and a web provider(Web Definer) which is the end-user tool that allows a user to selectvarious combinations and to edit the web site. Through the use of such asystem, technicians not related to the business owner can contributeessential elements to the production of a web site, including businessanalyses, graphics, page layout, and copyrighted content that may beused in a business owner's web site, and various applications that mayalso be incorporated into the web site. Because the provision of all ofthese features are provided independent of a business owner designing aweb site, the end result of the work of each of the designers providingthe above information will be available for all users during generationof each of their web sites.

A business owner, therefore, need only interact with the Web Definer tocreate and maintain a finished, polished web site. The Web Definerallows the owners of a web site to choose both the image, including lookand feel, and the content information that their web site will presenteven though in most cases the owners of the business do not have thetechnical skills required to achieve this objective from scratch. Thus,the Web Definer brings all of the elements created by skilled personnelusing various tools and skills, together in a powerful and intuitiveinterface that can be easily used by non-technical end-users to createand maintain unique web sites of a professional quality. The Web Definerperforms this function by collecting all essential elements of a website and then simply allows the business owner to arrange, color, andcombine these essential elements in an almost infinite number of ways.Thus, the Web Definer acts as a “web kaleidoscope” wherein by a usersimply pressing various buttons or making other simple choices, theelements of a user's web site rearrange themselves in accordance withvarious parameters until a desired effect is obtained. Additionally,maintenance can be performed at any time, and the look and feel of aparticular web site can be changed in a matter of minutes. This isbecause the Web Definer, while allowing a user to change the look andfeel of a web site, maintains the content and navigation of the website, if the user desires, without making any changes thereto. In thisway, rather than tediously redefining and recording new areas of a website to see how changes would be incorporated, it is simple for a userto simply select a new look and feel, colors, or any one of the othernumber of almost infinite combinations to re-present its web site in adifferent light. In the preferred embodiment, the process of rearrangingor regenerating selected features of the web site while keeping othersconstant is so simple that the user can create, view, and save forfuture consideration, a large number of different versions by “trial anderror”—all within a matter of minutes.

The web site designing method and apparatus of the present invention areunique in that the method and apparatus provide great functionalitytraditionally provided by a diverse range of products and services intoone cohesive environment launched from a globally accessible platformthrough the Internet or other computer network. The product includes ashared proprietary repository of finite, interchangeable, independentresources that can be easily combined to create an almost infinitenumber of web sites and allows for all human resources to contribute andbe accessed at a single location.

Further, the invention preferably allows for the alteration of thestructure of the web site by allowing pages or sections to be moved,added or deleted with all referencing and referenced portions to beupdated automatically. Accordingly, a page can be added simply byspecifying the referencing page(s) and links will be automaticallyprovided on the referencing pages. This change to the navigation isperformed automatically. There is no need for a designer to reprogramthe links on every referencing page.

An additional feature of the invention permits rapid proliferation ofweb sites hosted by a central server system. The web sites generated bythe invention may themselves reference a central hosting systemcontaining the necessary software and hardware for carrying out theinvention. Thus, each web site generated provides access for additionalusers to generate their own web sites, which in turn provides additionalpoints of access. Each site so generated may be hosted on the samecentralized system, eliminating the need for the business owner (orother site generating person or entity) to host and maintain thenecessary equipment, and personnel. Thus, the invention enables for thefirst time a true one-to-many method and apparatus allowing for rapidproliferation of sites hosted on a central server form.

By providing a self-replicating method for generating a multitude ofvastly different, unique web sites the invention provides a“one-to-many” method for generating and hosting web sites, overcoming amajor obstacle present in current web generation methods and devices. Inother words, in the preferred embodiment, a single web site generatoraccording to the invention can be used to generate a vast number ofunique, professional web sites, hosted by a single host, which may becomprised of whatever hardware and software is necessary to host thebusiness and traffic created by the sites hosted.

It should be noted that although the invention is herein generallydescribed in the context of business applications, it is equally usefulfor non-business applications, such as individual or family web sites,and may be used by non-profit businesses, government agencies or bureausor almost any individual, group or organization desiring a web site forany legal purposes.

The method and apparatus in accordance with the invention ease the website design process by providing various features. These includenavigation, variation and presentation, separation, business-drivencontent, colors and What-You-See-Is-What-You-Get (“WYSIWYG”) editing.These features will each now be described.

The method and apparatus in accordance with the invention provide aunique navigation model to protect users from one of the mainmaintenance obstacles faced by those using traditional authoringtools—maintaining navigation through the web site when the web site isedited. In accordance with the invention, the navigational links thatprovide access to all pages of a user's web site are maintained nomatter how the user changes or manipulates the underlying structure ofthe site, such as the look and feel or the content. This is achieved inaccordance with the invention by an algorithm that governs the mostefficient way to maintain links between pages of the web site based upontheir structural relationship with one another. Thus, the presentationof the site remains consistent no matter what changes the user makes.With the time-consuming, error-prone task of maintaining navigation outof a user's way, the user is free to organize and present their web sitein any way they like without worrying about maintaining the navigation.

In accordance with the invention, each user can present a unique webpresence to the marketplace with very little effort. In accordance withthe invention, a large collection of images called “image sets” areavailable. Each image set is diverse in nature, but conforms loosely toa theme. Once a user chooses a particular image set, he or she canselect from among the pictures in the set and combine these images inany way to create a unique web site, with any combination assured toappear professionally designed. This is referred to in the invention asa “multidimensional presentation.” Almost an infinite number ofcombinations are available so that a user's web site not only looksprofessional, but also unique.

In accordance with one aspect of the invention, while the features ofthe web site are all intertwined, the invention allows a user to changeone or more of most of the attributes of the invention without affectingthe other attributes of the web site. The presentation, structure,navigation, content, target resolution, etc., of each web site aremaintained independently from each other. Any of these major attributesmay be changed at any time without affecting the others. Thus, a usermay change the content, navigation, or even the entire look and feel ofthe site, and the other attributes are maintained, and automaticallyupdated to incorporate the user's change. This ability allows for morefrequent, less expensive updates of the user's web site.

The invention insures: (1) that users are able to publish a quality website with a minimum amount of work, (2) that the content of the web siteis customized for a user's business, and (3) that a user's web site caninclude all of the most up-to-date features for a particular industry(pre-created industry content may be provided to a user). In accordancewith a preferred embodiment of the invention, pre-created industrycontent (“dynamic content”) is provided to a user in one of over 200industry groups. This content is then customized to each user based uponanswers to various questions. The answers to these questions generatesite-wide variables that set the look and feel of the site. Changing ofany of the variables affects the entire site in a cohesive manner,including the addition or removal of industry-based content. A user cantherefore generate a customized web site including individual andindustry-based content. In addition, the user can edit the textual andgraphic content, and can import its own content, including logos and/orgraphics and text that the user has previously created. The user'svarious information could also be obtained from an external database.

While a user can change many attributes of the web site, these changesmay be maintained within a predetermined range in accordance with themethod and apparatus invention. Thus, for example, when a user wishes tochange a color, the user may be limited to only colors that have beendetermined to be “safe” in regard to the other colors employed for thesite. Re-coloring of images may be limited to aesthetically-pleasingcolors and may also prevent certain colors, such as black or white fromchanging. Users can recolor images and be sure that the selected colorswill aesthetically blend with the colors on the remainder of the website.

The method and apparatus of the invention may also provide a user withWYSIWYG editing so that any change requested by a user is immediatelyimplemented for viewing by the user.

The present invention is particularly suited for electronic commerceapplications, including both business-to-consumer andbusiness-to-business applications. In one preferred embodiment the website generated is configured so that all aspects of an electronicbusiness can be maintained on a single web site.

The web site may be maintained so that there are a variety of passwordsor other identification method (including “cookies”), each of which mayallow specialized access to various portions of the site. For example, apotential customer may have a general-user password, or may require nopassword. Such a user would preferably have access to all informationaland purchasing areas of the web site. The customer could place ordersfor various items offered for sale and could obtain all of theinformation on the products and the business offered throughout the website. A different user, for example, in the warehousing segment of theelectronic business, would preferably have access to a running inventorylist of all items purchased by the on-line customers with allappropriate routing, delivery and other information which could be usedeither directly from the web site to fulfill the customer's orders ordownloaded onto the user's own computer system for further processing.Other users could have further different types of access. For example,the accounting personnel could have access to a segment of the web sitethat maintained data on all sales, profitability, payments, etc.Marketing personnel could have access to various types of informationthat could be collected during the purchasing process such as personalprofile data on the various types of consumers who purchase differenttypes of goods, the origination of business as “click throughs” fromother web pages or from other sources, projections, etc. Oneparticularly beneficial aspect of this feature is that it allows forefficient use of outsourcing, i.e., the accounting or marketing user canbe an outside firm who has full access to all necessary informationwithout having to physically visit the premises of the business. A largeaccounting or other professional firm can provide a standard interfaceto all of their customers so that all data is provided in a uniform andefficient manner.

The web site can be configured to include all of the necessary softwareto perform accounting, marketing, routing, delivery, and otherfunctions, such that the entire electronic business is hosted at thecentralized web site server system. Alternatively, portions of thebusiness may be hosted at the various physical locations where thebusiness operates.

The web site may be formatted so that it presents a different appearancedepending on a number of factors including: the access password or otheridentification provided by the user (e.g., user profile, navigationhistory, etc.), or the capabilities of the device used to access the website. For example, accounting personnel who log on may be presented onlywith the relevant accounting data in a format to which they areaccustomed. Likewise, a customer or sales person who accesses the sitethrough a reduced-capacity device such as a personal digital assistant(such as those currently marketed under the tradename Palm Pilot), acellular telephone, or other communication device including those thathave not yet been developed, would preferably be presented with the website in a format useable by the accessing device. The web site can beconfigured so that it recognizes the format of the accessing device andpresents a format that can be transmitted and used by the accessingdevice.

The web site may include content in any of a number of formats,including text, graphics, audio, video, audio-video, or other media thatmay be developed. The web site may also be generated to HTML thatre-scales dynamically. In other words, the web sites that the productgenerates may dynamically automatically resize down to a resolution of800×600 pixels which is usually the lowest level of most peoplecurrently using on PCs. This resolution is increased depending on thevisitor's equipment. The site can also be formatted during editing todepict the look of the site on a reduced capacity device, such as a palmcomputer, cellular telephone or the like. Thus, a user can design andview a web site for a variety of preview devices of differingcapabilities.

The invention also provides for an area in the customer control panel,where a user can get a list of all the different sections available foruse in a web site with a description of what each does and the abilityto preview the pages in the sections. These sections can be generated bythird party developers, and may include external components developedusing a software development kit (“SDK”). If the user likes a particularcomponent, the user would enter a credit card number, click a button andthat section would appear in the user's site and be paid for by theuser.

Therefore, in accordance with one aspect of the invention, an easy touse method and apparatus is provided that removes many of thecomplexities of designing and maintaining a web site. A user is providedwith suggested content, based upon an industry of the business, that canbe modified as desired. Navigation is maintained independent of thedesigner. A graphical representation of this navigation is shown. Theremoval or addition of a page automatically generates an updatednavigation. The style, colors, or art employed can each be modifiedwithout concern for the others, the content or the navigation. Theinventions allow a designer to choose what he or she wants, and fordirect implementation. No intermediaries are necessary.

In accordance with another aspect of the invention, an easy to usemethod and apparatus is provided for designing a targetedpublishing/marketing web site that provides the method and apparatus(tools) for building and maintaining web sites of the invention to usersand/or businesses of a certain category. For example, a designer mayintegrate new suggested content, navigation, styles, colors, art, etc.into a targeted publishing/marketing web site where new users of acertain category may create new web sites by choosing from the suggestedcontent, navigation, styles, colors, art, etc., provided by thedesigner.

In accordance with yet another aspect of the UCM of the invention, a webenvironment may be provided for personalized content to an end user. Inaddition to creating a “virtual storefront” web site on the web, theDefiner may be used to design a web site that provides a single URLaccess for site management of the “storefront” web site and all otheraspects of web surfing, including personal content of individual endusers. The population of content in a UCM web site may be based on a website owner's business, interests indicated by an individual user, orsuggested by the UCM based on the user's profile. The UCM web siteprovides a venue for businesses to provide targeted goods and/orservices and to provide a flexible “one-stop” web experience for endusers. Its features include: user profile orientation; natural web sitenavigation for content organization; navigation driven, contextsensitive “billboard content”; complete “communication” services(including email management, chat, group calendar); web site creationand publishing; and Integrated business services

The invention accordingly comprises the several steps and the relationof one or more of such steps with respect to each of the others, and theapparatus embodying features of construction, combinations of elementsand arrangement of parts that are adapted to effect such steps, all asexemplified in this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the invention, reference is made tothe following description and accompanying drawing(s), in which:

FIG. 1 depicts an overall system configuration for providing UniversalContent Management in accordance with an embodiment of the presentinvention;

FIG. 2 illustrates the interaction between a number of software modulesaccording to an embodiment of the invention;

FIG. 3 shows an initial welcome web page according to an embodiment ofthe invention;

FIG. 4 depicts a member control console web page according to anembodiment of the invention;

FIG. 5 shows a module selection web page for selecting a program moduleaccording to an embodiment of the invention;

FIGS. 6 to 11 illustrate the interface and functionality for creating,managing, and saving web site templates provided by the Site Definermodule according to an embodiment of the invention;

FIGS. 12 to 40 illustrate the interface and functionality of creatingand editing the default structure and content of a web site templateprovided by the Site Definer module according to an embodiment of theinvention;

FIGS. 41 to 45 show the interface and functionality of creating,managing, editing, and saving image sets provided by the Image Definermodule according to an embodiment of the invention;

FIG. 46 depicts an initial welcome web page for accessing the WebDefiner module according to an embodiment of the invention;

FIGS. 47A, 47B, and 47C show registration web pages for registering anew user for the Web Definer module according to an embodiment of theinvention;

FIGS. 48 to 63 illustrate the interface and functionality of creatingand editing a new web site provided by the Web Definer module accordingto an embodiment of the invention;

FIGS. 64A and 64B depict a registration web page for publishing a website created using the Web Definer module according to an embodiment ofthe invention;

FIG. 65 shows a start demonstration web page for demonstrating thefeatures of the Web Definer module according to an embodiment of theinvention;

FIGS. 66 to 68 illustrate the program/data structure for providingUniversal Content Management according to an embodiment of theinvention;

FIGS. 69A and 69B show a process for generating and managing referralsamong web sites according to an embodiment of the invention;

FIG. 70 illustrates providing externally generated components to beincorporated to web sites created using the Web Definer module accordingto an embodiment of the invention; and

FIGS. 71 to 82 show the processes for creating, editing, and sellingexternal components according to an embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 illustrates an arrangement 100 in accordance with an embodimentof the present invention for communicating information. In thisillustrative embodiment, a server 105 in arrangement 100 is coupled toone or more client terminals through Internet 120. One such clientterminal is numerically denoted 125, which may be a personal computer(“PC”) or the like. Internet 120 is a packet switched network fortransporting information and packets in accordance with the standardtransmission control protocol/Internet protocol (“TCP/IP”). Othernetworks may also be used, including those not yet developed. Server 105provides the Definer interface of the present invention for web sitegeneration to each client terminal 125 via Internet 120.

Communication software including browser software, e.g., NETSCAPENAVIGATOR™ or MICROSOFT EXPLORER™ is installed at each client terminal125 for communicating information with server 105 via the HyperTextTransfer Protocol (“HTTP”). Server 105 is identified by a predeterminedUniform Resource Locator (“URL”) on Internet 120. Therefore, to accessthe UCM in accordance with the invention, including the Definerinterface for web site generation, provided by server 105, a modem (notshown) or other communication means in client terminal 125 is used tofirst establish a communication connection 130 with Internet 120. Inaddition to a plain old telephone service (“POTS”) connection using aconventional modem, it is well-known that client terminals may establishconnections to Internet 120 through different high-speed connections,such as an integrated services digital network (“ISDN”), a digitalsubscriber line (“DSL”), a fiber-optic cable, a T1 line, or the like.Wireless connections may also be used.

After the establishment of communication connection 130, client terminal125 is assigned an IP address for identification on Internet 120. Theuser at client terminal 125 may then communicate with server 105 byaccessing the aforementioned identifying URL through Internet 120. Inaccordance with the invention, the user at client terminal 125 is ableto access the Universal Content Manager in accordance with theinvention.

One aspect of the Universal Content Manager is a Definer software forgenerating a complete quality web site by communicating with server 105.Server 105 may include at least one memory that is a computer-readablemedium that stores at least one computer program.

Referring now to FIG. 2, a structure of Definer in accordance with anembodiment of the invention is illustrated and described. As shown inFIG. 2, the Definer comprises a Site Definer, a Framework Definer, anImage Definer, a Project Manager, and a Web Definer.

Site Definer provides an interface for designing web site navigationmodels and content types, known as vertical market solutions, with thesimple interface usable by a vertical market analyst.

Framework Definer provides an interface for producing creative web siteframeworks that are separate from the content (“userspace”) of a website. The designs may be HTML table layouts.

Image Definer provides an interface for a Graphic Designer to createimages to match a specific Framework layout and are designed by themetype. The design is based on an image brief provided by the ProjectManager, which includes the theme and the quantity of images needed.Preferably, all the image sets are developed with a minimum of 5 imagesets per theme and a minimum of 5 Frameworks.

Content Definer provides content for a vertical market solution createdusing Site Definer. It includes site navigations most suited forspecific industries. Content Definer also provides for industry specificquestions that allow a user to customize a web site. The questions maybe automatically generated as a customized questionnaire of multiplechoice questions, multi-selectable answer and variable entry boxes. Thecontent and navigation of a web site may be generated based on theanswers to a questionnaire. Content Definer also provides industryspecific components and text descriptions to be included in a web site.It includes a feature for developing a specification request fordeveloping a component to a development partner. This information abouta business may also be collected from a database.

Project Manager coordinates a number of the Definer Publishing productsto produce a professional multi-dimensional web site solution. Itreceives the requirements from the Site Definer, sends an image brief toan Image Definer, sends a site definition to Content Definer forspecific industry content, determines the number of available frameworksand corresponding image sets, and coordinates the completion of a website generation project for Web Definer.

Web Definer provides a template web site, which is generated using theother Definer modules, to an end user according to the characteristicsof the end user's business and/or the end user's preferences; providesan interface for editing the provided template web site into a uniqueweb site; and publishes the web site created by the end user onto theWorld Wide Web.

FIG. 3 illustrates an example of an initial welcome page 300 that isdisplayed on client terminal 125 after accessing the aforementionedpredetermined URL identifying server 105. As shown in FIG. 3, page 300includes a plurality of links 305, 310, 315, 320, 325, and 330 foraccessing various additional information and services within the URLidentifying server 105. A Join button 335 directs client terminal 125 toa web page for registering a new user. A box 340 comprises one or moretext entry spaces 345, 350 and 355 and button 360 for logging in anexisting, registered user to the Definer interface. Links 305 through335, if selected by a user, would direct client terminal 125 to webpages directly linked to initial page 300 at server 105 whereintroductory information on the Definer software and its provider isdisplayed on client terminal 125.

As noted above, box 340 provides text-entry spaces 345, 350, and 355 forentering a previously-defined account name, a user name under theaccount name, and the corresponding password, respectively. Server 105authenticates the entered information after a click on OK button 360. Ifthe information from spaces 345, 350, and 355 correspond to a valid,previously-defined, existing user under a valid account, then clientterminal 125 is directed to a web page comprising services and linksdesigned for the existing user, as will be described in detail below.

FIG. 4 illustrates control console page 400 for accessing the servicesand links of the Definer Publishing modules for an existing user. AnEdit your Web site link 405, if selected, directs terminal 125 to aDefiner page 500, as illustrated by FIG. 5.

As shown in FIG. 5, Definer page 500 comprises links to individualmodules for designing, editing, and publishing a web site, such as aSite Definer link 505, a Section Definer link 510, a Layout Definer link515, a Framework Definer link 520, an Image Definer link 525, and a WebDefiner link 530.

As described above, Site Definer is a design module for creating thegeneric structures, content, and embedded applications for web sitetemplates. Framework Definer provides tools for defining various layoutvariations for a web site or template based on layouts created usingLayout Definer. Image Definer provides for creating and importing imagesto be incorporated on a template in the context of layout defined usingFramework Definer or a new web site created using Web Definer. SectionDefiner provides tools for creating generic sections to be incorporatedto a template or web site. Web Definer is the end-user tool that allowsa user to design, edit, and publish a web site using the templates,layouts, and images.

In summary the core concept of the Definer is the separation of thecontent, layout, structure, and appearance of a web site and itspresentation. Advantageously, a user can change the one characteristicwithout affecting the others. For example, Definer allows a user tochange the presentation of a web site without affecting the content ofthe web site, and vice versa.

It is noted that an embodiment of the invention includes a URL foridentifying a separate initial welcome page at server 105, or a separateserver, wherein membership access is limited to Web Definer. Theoperations of end-user service providing access to Web Definer will bedescribed in further detail below. In addition, the individual Definermodules include tools for different aspects of creating a complete website that may be published on the World Wide Web. Therefore, differentpersonnel with specific expertise (such as graphic designers, businessanalyst, etc.) may collaborate using the modules in completing the website. Consequently, the separate URLs to each of the modules may requirespecified usernames and passwords for access thereto, similar to initialwelcome page 300 shown in FIG. 3.

The interface, features, and operations of the individual Definermodules will now be described in detail.

Site Definer

Site Definer link 505 directs terminal 125 to a Site Definer page 600(shown in FIG. 6) that provides an interface to the Site Definer modulefor creating a site template, including its structure of template webpages.

Site Definer is a design module that may include a plurality ofpredefined site definitions (or “templates”), also known as IndustrySolutions, which are categorized by specific business type, or SpecificIndustry Solution (“SIS”), which in turn are organized by industry, orGeneral Industry Solutions (“GIS”). These SIS's or templates comprisegeneric structures, content and embedded applications for generating aweb site template to be customized by an end-user using the Web Definer.

For example, a user selects a site definition for generating the initialcontent of a template web site by selecting an industry, correspondingto a GIS, and a specific business, corresponding to an SIS,respectively. When a new user is created, a new template web site iscreated and linked to the newly created user. The SIS site definitioncorresponding to the specific business type selected by the new user isretrieved from Site Definer and copied into the new template web site,which the user may edit using the Web Definer to create a custom website.

The Site Definer interface may also be used to generate: (a) modularcontent (pages or sections of pages with text and graphics) that allowusers to create a Web page quickly by answering a series of questions;(b) questions that allow users to decide which modules that are beingbuilt that will be included in the site they are creating; (c)placeholders that will insert information globally throughout a site.For example, by including a (CompanyName) placeholder on several pages,a user's business name will appear on these pages automatically when heor she registers with the provider of the Definer service at server 105;(d) on-line stores for purchasing products on a site; and (e) on-lineforms that allow customers to send their questions and comments aboutproducts and services offered on a site. The Site Definer also providesfor testing a created template.

FIG. 6 illustrates Site Definer page 600 for creating and maintaining aweb site template. In a Display Sites section 605, an Industry Typeselection menu 610 includes a drop-down list for selecting an industryto display individual business type site templates thereunder. Asillustrated by FIG. 7, an Industry Type drop-down list of 705 isdisplayed for selection after menu 610 is clicked. As shown in FIG. 8, alist of all site templates 805 stored under an industry category isdisplayed after the industry category is selected from Industry Typedrop-down list 705 and Display button 615 is clicked. Each listed sitetemplate includes a Business type site template name and an industrytype. For example, “Acts,” is the site template name and “Arts andEntertainment” is the industry type for site template 810.

FIG. 9 illustrates the operation of copying an existing site template tocreate a new site template using a Copy a site section 620 of SiteDefiner page 600. A From Site Name text box 625 is provided for entry ofthe site name of the template to be copied. A To New Site Name text box630 provides for naming a new site template that is generated by copyingthe site template named in text box 625 (e.g., from “Acts” to “Actors”).An Industry Type drop-down list 905 provides for selecting the industrythat the new site template is stored under. By clicking Copy button 640,a copy of the site template named in text box 625 is saved in server 106under the new site template name entered at text box 630 under theindustry category selected at menu 905.

FIG. 10 illustrates a new list of site templates 1105 that comprises thenew copied site template 1010, “Actors,” after the copy operation ofFIG. 9 has been performed and Display button 615 is clicked.

In addition to creating a new site template by copying an existingtemplate, a new site template may be independently created in accordancewith the present invention.

As illustrated by FIG. 11, a Create a site section 645 of Site Definerpage 600 includes a Select Your Industry Type drop-down menu 650 whichprovides for selecting the industry category under which a site templateis to be created. The name for the new site template is entered at aSite Name (SIS) text box 655. After Create button 660 is clicked,terminal 125 is directed to a site template creation split screen 1200,as shown in FIG. 12. FIG. 12 depicts site template creation screen 1200for creating and editing a new site template. On the left is a site map1205 that lists the pages included in the site; the right side includesa site display area 1210. A blank Home page 1215 is initially generatedand displayed in site map 1205. The contents of blank Home page 1215 aredisplayed in display area 1210. As shown in FIG. 13, a command menu 1305appears with a variety of commands when Home page 1215 is clicked. Thecommands, which will be described in further detail, include “Add Page”for adding a page to the site template; “Details” for defining theattributes of a page, such as search engine keywords, page title,emphasis, button text name, and questions users answer when they createsites according to the site template in the Web Definer; “Content” fordisplaying the layout (the placement of text and graphics) of a page;“Questions” for managing questions that users answer while creatingtheir sites according to the site template in the Web Definer; and“Paste” for placing a cut page to a selected location in the site maphierarchy.

It is noted that when new pages are added to a site template, additionalcommands for rearranging the pages, such as Rename, Delete, Move Up,Move Down, and Cut, become available. These commands are not included inthe menu for Home page 1215 because the name and position of Home page1215 always remains the same.

A preview of the site template, as would be displayed on the Internet,can be displayed by clicking a Test link 1310 in the upper right cornerof the screen. Details of the preview function will be described infurther detail below.

Displaying and Maintaining Web Sites

FIG. 14 illustrates a site template editing screen 1400 similar toscreen 1200 shown in FIGS. 12 and 13. Site template editing screen 1400provides for editing an existing site template or a new site templatecreated by copying an existing template as above-described withreference to FIG. 13. As shown by FIG. 14, a site map 1405 that liststhe pages included in the site template is displayed on the left side;and the right side includes a page content display area 1410. Asillustrated by FIG. 15, a command menu 1505 appears with a variety ofcommands when a page designation on site map 1405 is selected. Thelisted commands include “Add Page” for adding a page to the sitetemplate; “Details” for defining the attributes of a page, such assearch engine keywords, page title, emphasis, button text name, andquestions users answer when they create sites according to the sitetemplate in the Web Definer; “Content” for displaying the layout (theplacement of text and graphics) of a page; “Questions” for managingquestions that users answer while creating their sites according to thesite template in the Web Definer; “Rename” for renaming a page; “Delete”for removing a page; “Move Up” for moving a page one position higher inthe hierarchy of site map 1405; “Move Down” for moving a page oneposition lower the hierarchy of site map 1405; “Cut” for moving a pageto a Clipboard (not shown); and “Paste” for placing a cut page to aselected location in the hierarchy of site map 1405. It is, again, notedthat the commands Rename, Delete, Move Up, Move Down, and Cut are notincluded in the command menu for the Home page of site map 1405 becauseits name and position always remains the same. The operation of eachcommand will now be described in detail.

Adding Web Pages

The Add Page command adds a new page under the selected page in thehierarchy of site map 1405, i.e. the new page branches from the selectedpage. By clicking the page designation above where the new page is to beadded and selecting the Add Page command from the pop-up menu, an AddPage dialog box 1600, as shown in FIG. 16, is displayed in display area1410. A Page Name text box 1605 is provided for entering a name for thenew page to be added and a Based on Page drop-down menu 1610 providesfor selecting a page format from previously stored template pages. Theformat from the template selected at menu 1610 is copied into the newpage. The new page appears in the hierarchy of site map 1405 after OKbutton 1615 is clicked.

Defining Attributes for a Web Page

The Details command provides for defining default values for attributesthat are displayed to an end-user who is using the Web Definer to createa new web site according to a site template.

FIG. 17 illustrates a Page Details dialog box 1705 that displays avariety of options in display area 1410. A Search Engine Keywords textbox 1710 is provided for entering keywords that will help users find thenew page using a search engine; “Title” text box 1715 is provided fornaming the new page. An Emphasis selection menu 1720 provides forselecting the effect of navigation for the new page. For each sitetemplate, there is a limit of six high-emphasis pages and the remainingpages are set at medium or low emphases. A Button Text text box 1725provides for naming the buttons and/or hyperlinks that direct visitorsto the new page. A Question text box 1730 is provided for entering aquestion to be linked to the new page. As described before, a usercreating a web site using the Web Definer is shown a series of questionscorresponding to a site template that determine the content to beincluded on a newly created web site—pages and/or sections are addedbased on the responses to these questions. Correspondingly, text box1730 provides for adding one such question to the site template fordetermining whether to include the new page or section (i.e., if thereare pages under the new page in the hierarchy) in a web site generatedusing the site template. A Question label text box 1735 is provided forentering a name for the question linked to the new page entered in textbox 1730. A Show by default check box 1740 provides for selectingwhether the new page or section is to be included by default in a website created according to the site template. The attributes entered intodialog box 1705 are saved to the new page by clicking a Save button1745.

Changing Content The Content command provides for changing the content(text and graphics) of a page in the site template. The existing contentfor the selected page is loaded and displayed in display area 1410 inthe predetermined format, as shown in FIG. 18. For a new page, a blankpage is displayed in display area 1410.

As illustrated in FIG. 18,

and B

icons are positioned in various locations throughout the page foractivating pop-menus for a variety of commands for adding and changingthe content of the selected page.

As shown in FIG. 19, the commands in pop-up menu 1905, which isdisplayed when an

icon or an existing component is clicked, provide for editing anexisting component, which include: “Edit Component” for changing theattributes of the selected component; “Cut Component” for moving acomponent from the selected page to a Clipboard (not shown); “CopyComponent” for copying a component to the Clipboard; and “DeleteComponent” for removing a component from the page. Correspondingly, a“Paste Component” command from a pop-up menu 2100 (shown in FIG. 21)displayed when an

icon is clicked provides for placing a component from the Clipboard tothe location of the selected

icon, as will be described below.

FIG. 20 shows text editor dialog box 2000 that is displayed when theaforementioned “Edit Component” command is selected for a textcomponent, as illustrated in FIG. 19. As shown in FIG. 20, the existingtext of a selected text component is displayed in text area 2005.Formatting features in toolbar 2010 provide for changing the format ofthe text component. Any changes made to the text component are saved tothe page upon clicking OK button 2015. In the alternative, all changesare cancelled by clicking cancel button 2020.

FIG. 21 illustrates pop-up menu 2105 that is displayed when an

icon is selected. The commands in pop-up menu 2105 provide for insertingcomponents, including the aforementioned “Paste Component” command. Asshown in FIG. 21, pop-up menu 2105 includes: “Insert Text” for adding anew block of text to the page; “Insert General Image” for adding a newimage to the page; “Insert Table” for adding a new table to the page;“Insert Structured Data” for inserting data created in another file,such as a table, in the page; “Insert External Component” for insertingan externally created component; “Insert Custom HTML” for adding HTMLcode saved in another file or Web site to the page; “Insert Email Form”for placing a form in the page. Form choices available are e-mail,booking, contract, generic application, credit application, membershipapplication, quote request, review, update, and FAQ (for submittingquestions); “Insert a Layout” for inserting a new page layout in yourpage; “Insert a GIS Layout” for adding a template related to a specificindustry, such as a calendar, staff list, or fortune; “Insert OnlineStore” for placing an online store in the page; “Insert Page Selector”for adding the page to a drop-down list of pages on the site template;and “Paste Component” for placing a cut or copied component on the page.

A new text component may be added to any location on a template page byclicking an

icon next to the area where the text component is to be inserted, andselecting the insert text command in pop-up menu 2105. Insert textdialog box 2200, as shown in FIG. 22, appears upon such selectionwherein the contents of the new text component may be entered.Formatting feature toolbar 2205 provides various text formattingfunctions. New text entered into text area 2210 is inserted into a pageupon clicking OK button 2220. It is noted that text generated by otherword processing programs such as Microsoft Word™ or WordPerfect™, may beinserted into a page as a new text component by copying or cutting aportion of the text from the file thereunder and pasting said text intotext area 2210.

FIG. 23 illustrates the selection of the above-described insert generalimage command for inserting a graphic image at a selected location. Uponselection of the command, a choose image dialog box 2400, as shown inFIG. 24, is displayed. As shown in FIG. 25, drop down selection list2505 appears upon clicking menu bar 2405. Each item listed in selectionlist 2505 is an industry category based upon which images arecategorized. The images displayed in display area 2420 are changed byselecting an item in list 2505 and clicking the change category button2425. Each category may comprise more than the six images displayed indisplay area 2420, in which case a page of up to six images isrepresented by each of links 2430. A click on one of links 2430 wouldcause the images stored thereunder to be displayed in display area 2420.

When an image in display area 2420 is selected, an “Edit Image” dialogbox 2600, as shown in FIG. 26, is displayed. “Edit Image” dialog box2600 is also displayed when the “Edit Component” command, as illustratedin FIG. 19, is selected for a graphic component (instead of a textcomponent, as shown in FIG. 19). As shown in FIG. 26, “Edit Image”dialogue box 2600 provides various features for editing and changing thecharacteristics of an image component. A “General Image Library” button2605, when clicked, causes a “Choose Image” dialog box 2400 to bedisplayed for displaying a catalog of pictures that may be inserted tothe selected location of the page template. A “Source” text box 2610displays and provides for the entry of the path name of a selectedimage. The “Vertical Padding” text box 2615 provides for the entry of anamount of space between the top and bottom of the graphic component andits adjacent components on a page template. Correspondingly, a“Horizontal Padding” text box 2620 provides for the entry of an amountof space between the left and right sides of the graphic component andits adjacent components on a page template. A “Break After” check box2625 provides for the selection of whether the line break is placedbetween the graphic component and the subsequent component. In otherwords, if “Break After” check box 2625 is checked, the selected graphiccomponent is placed directly above the subsequent component. If,however, box 2625 is not checked, then the selected graphic component isplaced side by side with a subsequent component. A “Resize Image” textbox 2630 provides for changing the size of the graphic component. Anumber entered at text box 2630 represents a percentage of the size ofthe original image as saved in an image file. In other words, as shownin FIG. 26, the selected image component is 70% the size of the originalimage file. A line text to image drop down menu 2635 provides forselecting whether to line up a text component to the right or left edgeof the selected graphic component.

FIG. 27 illustrates “Insert Table” dialogue box 2700 that is displayedwhen the “Insert Table” command in the

icon menu is selected. As shown in FIG. 27, various characteristics of atable component may be changed using dialogue box 2700. A “Number ofRows” drop down menu 2705 provides for determining the total number ofrows in a table component. Correspondingly, a “Number of Columns” dropdown menu 2710 provides for selecting the total number of columns in thetable component. An “Alignment” drop down menu 2715 provides forselecting the alignment of the text in the cells of the table component.A “Cell Spacing” text box 2720 is provided for entering an amount ofwhite space between the cells of the table component. A “BackgroundColor” selection button 2725 provides for the selection of the colorthat will appear in the background of the table component. A “Border On”check box 2730 provides for determining whether each cell and tablecomponents will be surrounded by a border. A “Cell Padding” text box2735 is provided for entering an amount of white space around the textin a cell (see similar to the margin in the document). A “Width”selection drop-down menu and text box 2740 provides for selecting thetotal width of the table component. A “Percentage” check box 2745provides for selecting whether the width selected at drop-down menu andtext box 2740 is measured by pixels or percentages. Correspondingly, a“Height” drop down selection menu and text box 2750 provides forselecting the total height of the table component. Similarly, a“Percentage” check box 2755 provides for selecting whether the heightselected at 2750 is measured in pixels or in percentages.

As described before, “Background Color” button 2725 provides for theselection of the background color of the table component. “ColorPalette” dialog box 2800, as shown in FIG. 28, is displayed if button2725 is clicked. “Color Slider” bar 2805 provides for selecting a colorfrom a color pallete. “Shade Selection” area 2810 provides for selectinga shade of the color selected using color bar 2805. Display area 2815displays the selected color and shade. A “Restore Default” button 2820restores the selected color to the default setting. The selectedbackground color is incorporated to the table component upon clicking on“OK” button 2825. No changes are made to the table component if “Cancel”button 2830 is clicked.

FIG. 29 depicts “Structure Data” dialogue box 2900 that is displayedupon selection of the insert structure data command mentioned before. An“Upload data from file” radio button 2905 provides the feature ofuploading a table component from a file generated from an applicationseparate from the Definer Publishing modules. A “File” text box 2910 and“File Format” drop-down selection menu 2915 provide for selecting thesource file for the uploading.

FIG. 30 illustrates an “Insert HTML” dialogue box 3000, which isdisplayed upon selecting the aforementioned “Insert Custom HTML”command. HTML code may be entered into text box 3005 and incorporated toa page template upon clicking “OK” button 3010.

FIG. 31 illustrates an “E-mail Form Options” dialogue box 3100 that isdisplayed when the aforementioned “Insert E-mail Form” command isselected. A “Heading” text box 3105 is provided for entering the name ofthe heading for the form component. A “Format” drop-down list 3110provides for selecting the type of form component to be added. “E-mailAddress” text box 3120 is provided for entering the E-mail address towhich completed forms are sent. A “Display Success Message” check box3125 provides for selecting whether a successful transmission of acompleted form is displayed to a user of a web site comprising the formcomponent. A “Go to Page” drop-down list 3130 provides for the selectionof a page that the terminal is automatically directed to after acomplete form is sent. If “None” is selected as shown in FIG. 31, thepage containing the form remains open after the completed form is sent.

FIG. 32A illustrates an “Add Page” dialogue box 3200 that is displayedwhen the “Insert a Layout” command, as shown in FIG. 23, is selected. A“Page Name” text box 3205 is provided for entering a name for the newinserted layout. A “Based on Page” drop-down menu 3210 provides forselecting an existing layout upon which the new layout is to be based.

FIG. 32B illustrates a “Choose Page Layout” dialogue box 3250 that isdisplayed upon the selection of the “Insert AGIS Layout” command, asshown in FIG. 23. A “Choose Page Layout” drop-down menu 3255 providesfor selecting the name of an existing layout to be added to the selectedlocation of the “Insert AGIS Layout” command.

FIG. 33 illustrates an “Online Store Maintenance” dialogue box 3300 thatis displayed when the aforementioned “Insert Online Store” command,shown in FIG. 23, is selected. As shown in FIG. 33, a “Store” radiobutton 3305 is selected, whereupon a “Name” text box 3310, a “ColorScheme” drop down selection menu 3315 and a “Message” text box 3320 aredisplayed. “Name” text box 3310 is provided for entering a name for theonline store to be created. “Color scheme” drop down menu 3315 providesfor selecting a color scheme for the online store. “Message” text box3320 is provided for entering a text message to be displayed when anorder is placed by a customer using a web site containing the onlinestore. A “Countries” radio button 3325 provides for selecting countriesin which the online store is to provide products or services. A“Shipping Methods” radio button 3330 provides for selecting shippingmethods to be made available to a customer using a web site containingthe online store. A “Payment Methods” radio button 3335 provides forselecting payment methods to be made available on the online store. A“Save” button 3340 saves the information and settings for the onlinestore when clicked.

A “Name” text box 3345 is provided for entering a name for a new productcategory. After a name is entered into text box 3345, and after “AddCategory” box 3350 is clicked, a new product category is added to theonline store as shown in area 3405 of FIG. 34. A “Name” text box 3410 isprovided for entering and editing the name of the product category, aspreviously entered at text box 3345. A “Heading” text box 3415 isprovided for entering a heading for the product category to be displayedon the online store. An “Upload Image” button 3420 provides foruploading an image to be displayed on the online store for the productcategory. A “Clear” button 3425 provides for removing an uploaded image.

Upon entering a product name into “Name” text box 3430 and clicking “AddProduct” button 3435, a new product is added to the product category asshown in area 3505 of FIG. 35. A “Name” text box 3510 is provided forentering and editing the name of the product, as previously entered attext box 3430. A “Heading” text box 3515 is provided for entering aheading for the product to be displayed on the online store. A “Price”entry box 3520 is provided for entering a unit price for the product. A“Hide Product” check box 3525 allows for selecting whether the productis to be hidden from display on the on-line store. A “Sale Price” entrybox 3530 is provided for entering a sale price which would be theeffective unit price for the product when “On Sale” check box 3535 ischecked. A “Code” text box 3540 is provided for entering a product codefor the product and a “Description” text box 3545 is provided forentering a text description of the product. Upload image buttons 3550provide for uploading at least one image of the product for display onthe on-line store. The aforementioned details and settings of theproduct is saved by clicking “Save” button 3555.

FIG. 36 illustrates a page selector link 3605 that is added to a page byselecting the “Insert Page Selector” command illustrated in FIG. 23.

Operations for designing and maintaining questions to be included in aweb site template for generating new web sites will now be described indetail. In accordance with the invention, there are five types ofquestions. Include page questions are questions that prompt end-users onwhether a certain page from the template is to be included in thegenerated web site. Content questions are questions that inquireend-users whether a specific section of content in one or more pages inthe template is to be included in the generated web site. Text questionsare questions that prompt users to provide short answers thereforwherein such answers are to be included in the generated web site. Textarea questions are questions that require longer answers from users,wherein set answers are to be included to the generated web site.Finally, drop down questions are questions that require users to choosean answer from a custom drop down list.

FIG. 37 illustrates selecting the “Questions” command from pop-up menu3705, which is displayed by selecting an individual page template fromsite map area 1405. As shown in FIG. 38, an “Edit Questions” dialog box3805 is displayed in page template detail area 1410 upon selection ofthe “Questions” command. When an

icon 3810 in “Edit Questions” dialog box 3805 is clicked, a menu ofcommands 3905 is displayed, as shown in FIG. 39. Menu 3905 includescommands such as a “Content Question” command, a “Text Question”command, a “Text Area Question” command, and a “Drop Down Question”command for inserting additional Questions of the various types to thepage template.

FIG. 40 illustrates a “Content Question” dialogue box 4000, which isdisplayed upon selecting the “Content Question” command in menu 3905. A“Question” text box 4005 is provided for entering the question. A “Name”text box 4010 is provided for entering the name of the question.“Default Answer” radio buttons 4015 and 4020 provide for designating adefault answer to the content question generated hereby. An “Answer”text box 4025 is provided for entering the text to be included in thecontents of a generated web page if the content question is answeredyes.

Layout Definer

Layout Definer creates tables for the various pages in layouts of thetemplate web site. These tables are in a meta-data format so that theymay be selected and/or edited using the Web Definer to suit a custom website. The meta-data format will be described in further detail below.

Framework Definer

Framework Definer provides various layout variations for a web site.Framework Definer separates the “userspace” and “framework” to optimizea flexible solution for developing creative web site designs. Theframework of the designs is maintained in various HTML table layouts. Aframework is made up of components that define where one or more of aplurality of images from an image set, and where a content piece shouldbe located in a web page layout. An image set defined by Image Definer(described below) contains images which are organized in an ordered treeof categories such horizontal, vertical, background, etc. As will bedescribed below, Image Definer provides for defining additional imagesets and categories of images.

A framework generated by Framework Definer defines the placement of eachcomponent of a web page. Content components of a site definitiongenerated by Site Definer are placed according to the framework.

Functionally, Framework Definer provides for capturing and storingdetails of a web site, thus, enabling a user to quickly develop a uniquetable layout to develop image sets therefor. Typically, Layout Graphicsfor a web site include: Header, Footer, Background, and User EditableContent Space. Navigation Bar image data usually includes the imageorder, the number of navigational images, the navigational level (first,second, third level navigation etc). These parameters may be set andadjusted using Framework Definer.

Referring back to FIG. 5, “Framework Definer” link 520 directs clientterminal 125 to a Framework Definer page. For a first time user, atutorial pop up provides a ‘wizard’ style introduction. An experienceduser may directly select one of the menu options: SpecifyFramework—provides Framework Definer interface for specifying eachlayout object; Save—exports a framework to be saved in a frameworklibrary, and generates a thumbnail view of the framework for the librarydisplay; Previous Menu; Exit; and Help—small pop up window with tutorialtype help with description of each button action.

To create a new Framework the user clicks on a red arrow in an edit areafor a framework template and selects insert table. The user sets theattributes for the table layout; sets the table layout width to be fixedpixels or percentages; sets the table height in pixels or percentages;specifies the layout options—Header, title, horizontal navigation,vertical navigation, bottom navigation, userspace, and filler space.

A user may “Save” the Framework to a Framework Library (which is locatedat a content data store, and includes a collection of all createdframeworks) without an Image Brief; or “Transfer Framework” to transferthe Image Brief to Project Manager to co-ordinate delivery to ImageDefiner. The operation of Image Definer for specifying images on aframework will be described in further detail below.

Project Manager adds a created framework to the Framework Library toenable a user to select an appropriate framework to fit their web sitespecification. List of modules the Framework Definer is authorized touse. Selecting the program leads the user to the ‘Menu List’ for thatmodule. A list of tasks allocated to this user by the ‘Project Manager’,with the links to the correct module to perform this task. The ‘TaskList’ also includes: Edit—edit existing ‘Site’; Create—create new ‘Site’using Definer with the correct task selected.

In the above-mentioned Framework Library, the number of navigationallinks and levels will determine the available Frameworks. The ProjectManager co-ordinates the delivery of the Image Brief to Image Definer.

Image Definer

Referring back to FIG. 5, “Image Definer” link 525 directs clientterminal 125 to Image Definer screen 4100 shown in FIG. 41.

Image Definer allows for the selection and maintenance of various imageson a web site. Image Definer contains a plurality of collections ofimage sets created by graphic designers that are matched with specificframework layouts and are designed by theme type. Each of the pluralityof image sets is developed including related images. A minimum of 5image sets are defined for a theme, thus allowing for a minimum of 5frameworks for each theme. The Image Definer is provided with an imagebrief request by the Project Manager, which includes a requested themeand the quantity of images needed for the web site.

An image set is randomly selected from a requested theme and the imagesin the image set are broken down into separate categories. For eachcategory, the images are broken down into variations. Image Definerreplaces the image set of the template web site with the uploaded imageset after selection and rescales the uploaded image set to conform tothe framework to which it is applied, i.e., the framework of thetemplate web site. Similar to the predefined image sets, the uploadedimages may be re-colored in the Web Definer.

When displaying a page in the web site all images in a particularselected variation are retrieved and rendered. For a navigation objectcomponent, such as a navigation bar, navigation information generatedfor the page is used to determine how many actual images need to berendered to form the component. Likewise, the text for each componentimage can be rendered instantaneously. Thus, the image and textrendering is based on navigation information for content, the structureof the content data, and the variation information for the look.

Image Definer also provides an interface for defining a new set ofimages for a framework. This new image set is constructed by addingimages for every single category contained in the framework. And, aspart of the Image Definer interface, the user, e.g., a graphic designer,is prompted to upload images. Using the Image Definer interface, theuser is able to ensure that the uploaded image and all its variationsfit properly no matter where they appear on a web page.

Definer also includes an image designer as an internal design tool thatallows a designer to upload images and designs and conform them to theDefiner environment, e.g., designate them to categories within aframework and modify them to conform to the requirements of thecategories. As will be described in further detail below, Image Definerprompts a user/designer to choose a framework, whereupon a blank screenand a list of categories are presented. The user/designer then choosesone of the categories to work on, and can upload an image into thecategory.

As shown in FIG. 41, “Image Definer” screen 4100 comprises a “FromFramework” drop-down selection menu 4105, an “Existing Image Set Name”text box 4110, a “Copy” button 4115, a “New Image Set Name” text box4120, an “Add New Image Set” button 4125, and an image set display area4130.

Image set display area 4130 includes a “Framework” selection drop-downmenu 4135 for selecting a web page template framework, as created usingFramework Definer, and displaying existing image sets stored thereunder,for example, “corporate 1” 4140.

“From Framework” menu 4105 provides for selecting a framework andretrieving an existing image set stored thereunder by entering the namethereof in text box 4110. The image set selected using menu 4105 andtext box 4110 is copied as a new image set for the framework selected atdrop-down menu 4135 upon clicking “Copy” button 4115.

“New Image Set Name” text box 4120 is provided for entering a name for anew image set to be created for the framework selected at drop-down menu4135 by clicking “Add New Image Set” button 4125.

The image sets stored under the framework selected at drop-down menu4135 are displayed in image set display area 4130 with “Edit” buttons4145 and “Delete” buttons 4150. A “Save” button 4155 is also providedfor each non-empty image set, for example, “corporate 1” 4140. “Delete”buttons 4150 provide for deleting an image set and “Save” button 4155provides for saving the contents of image set “corporate 1” 4140. “Edit”buttons 4145 direct client terminal 125 to “Image Definer Editor” screen4200, as shown in FIG. 42, for editing a corresponding image set.

As shown in FIG. 42, “Image Definer Editor” screen 4200 comprises aWYSIWIG Panel area 4205 for displaying a combination of images from animage set on a framework as a complete Web page. A “Category” drop-downmenu 4210 provides for switching between the “Home” page and theremaining pages of an image set, and an “Image Category” drop-down menu4215 provides for selecting an image category, such as, Background,Header, Horizontal, Title, Vertical, and Footer. A “Category Display”window (not shown) displays the available image sets for a selected“Image Category.” An image set selected in the “Category Display” windowis displayed in WYSIWIG Panel area 4205. In addition, an “Image Type”may be entered for each image set at the “Category Display” window forspecifying whether the images for the “Home” page and the remainingpages in the image set are the same. By clicking on the “Image Type”text, a pop-up menu (not shown) comprising the options “Delete thisset”, “Upload to this set”, and “split into specific” is displayed. An“Upload to this category” button 4220 is provided for uploading theimage set on display in panel area 4205 to the category selected atmenus 4210 and 4215. A “Browse” button 4222 prompts the display of amenu (not shown) for browsing the local storage media at client terminal125 for images stored therein. An “Upload” button 4225 is provided foruploading the image selected using the menu prompted by clicking“Browse” button 4222 or entered at entry box 4230. The uploaded image isdisplayed in a display panel 4235. If display panel 4235 is selected,the image therein is displayed in WYSIWIG Panel area 4205.

FIG. 43 illustrates an “Image Options” drop-down menu 4305 that isdisplayed when an image in WYSIWYG Panel area 4205 is clicked. As shownin FIG. 43, the “Image Options” include: “Insert Image Before” forinserting an image before the selected image (selecting this optionprompts for uploading an image); “Replace This Image” for replacing theselected image (selecting this option prompts for uploading an image);“Insert Image After” for inserting an image before the selected image(selecting this option prompts for uploading an image); “Edit ImageAttributes” for specifying the attributes for the selected image (amenu, which will be described in detail below, is displayed uponselection of this option); “Delete This Image” for deleting the selectedimage; “Edit Page Background” for editing an existing background image;“Put Logo Here” for including a logo uploaded by a user and specifyingrestrictions for displaying the logo with the selected image (a menu,which will be described in detail below, is displayed upon selection ofthis option); and “Insert Background For This Set” for inserting abackground image for the table cell comprising the selected image (thisis important because a background image for the table cell completes theability for a Web site to scale when viewed in various resolutions)(selecting this option prompts for uploading an image).

FIG. 44 depicts an “Edit Image Attributes” menu 4400 that is displayedwhen the “Edit Image Attributes” option from “Image Options” drop-downmenu 4305 is selected. As shown in FIG. 44, menu 4400 comprises a numberof “Image Options” and “Text Options.”

Image Options

“Set Base Color” entry boxes 4405 and “Set Color” button 4410 providefor entering the Red-Green-Blue (RGB) base color of the selected image.An “Allow Color to Cell” check box 4415 provides for designating whethera base color is set in the table cell comprising the selected image. An“Align in Cell” drop-down selection menu 4420 provides for selecting thealignment (Default, Left, Right, Center) of the selected image in thetable cell. A “Show Always” check box 4425 provides for designatingwhether the selected image is always displayed. A “No Text or Link”check box 4430 provides for designating whether or not text or a link isto be applied to the selected image. A “Repeat Image” check box 4435provides for designating whether the selected image is to be repeated.

Text Options

An “Enter Text” text entry box 4440 is provided for entering text thatis to be applied to the selected image. An “Effects” drop-down selectionmenu 4445 provides for selecting an effect (for example, Drop Shadow) tobe applied to the text entered in box 4440 for display with the selectedimage. A “Vertical” alignment drop-down selection menu 4450 and entrybox 4455 provides for designating the vertical alignment of the textentered in box 4440 to the selected image when displayed. Similarly, a“Horizontal” alignment drop-down selection menu 4450 and entry box 4455provides for designating the vertical alignment of the text entered inbox 4440 to the selected image when displayed. A “Default Font”drop-down selection menu 4460 provides for selecting the default fontfor displaying the text entered in box 4440. A “Default Font Size”drop-down selection menu 4465 and entry box 4470 provide for designatingthe default font size for displaying the text entered in box 4440.“Default Text Color” entry boxes 4475 and “Set Color” button 4480provide for entering the RGB color for displaying the text entered inbox 4440. “W” and “B” buttons 4485 provide for designating the textcolor to be white and black, respectively. The designations of “RolloverText Color” and “Rollover Image Color” are done in the same fashion asfor “Default Text Color,” which will not be described again. A “PreviewThis Image” button 4490 provides for previewing the selected image andentered text as specified using “Edit Image Attributes” menu 4400.

FIG. 45 depicts a “Put Logo Here” menu 4500 that is displayed when the“Put Logo Here” option from “Image Options” drop-down menu 4305 isselected. As shown in FIG. 45, an “Enable” text box 4505 for entering“Y” or “N” provides for designating whether a logo uploaded by a user isto be displayed with the selected image. A “Width” entry box 4510 isprovided for entering a maximum width for the logo (in pixels). A“Height” entry box 4515 is provided for entering a maximum height forthe logo (in pixels). A “Horizontal” drop-down selection menu 4520provides for selecting an alignment of the logo (Left, Right, Center) tothe selected image. An “Offset” entry box 4525 is provided for enteringan offset position (Left, Right, Center and number of pixels) fordisplaying the logo with the selected image. A “Save” button 4530provides for saving the specifications entered at menu 4500. A “Cancel”button 4535 provides for cancelling any changes to the selected imagebrought about by changes to the specifications at menu 4500. A “Show”button 4540 provides for previewing a sample of the selected imageaccording to the specifications entered at menu 4500. A “Wide” button4545 is provided for previewing a wide version of the sample image. A“Tall” button 4550 is provided for previewing a tall version of thesample image. A “Perfect” button 4555 is provided for previewing thesample image as specified exactly by the specifications entered at menu4500.

The above-described text rendering system (“text options”) under ImageDefiner provides, say, a Graphic Designer the tools that are bothflexible and easy to use when rendering text onto high qualityprofessional images. The options that are available, as mentioned above,will now be described in further detail.

Depth Effects

A Graphics Designer may set an effect for the text on an image, the menuoptions for setting such effect include: drop shadow; select color ofdrop shadow; select by pull down list the ‘blur’ type; set the X and Yoffset of effect (in pixels); enter the Transparency level (inpercentages); embossed text; set the X and Y offset of effect; and applyeffect.

Blank Setting

A Graphic Designer may also preset a number of settings to be applied toa blank image before entering text, including: ‘Head Length’ (inpixels); Body Length’ (in pixels); Tail Length’ (in pixels); and RGBbase color of image.

Text Position

A user may set the text position on the image, including: horizontaljustification on left, center, and right; vertical justification on top,middle, and bottom; and offsets on vertical (in pixels) and horizontal(in pixels).

Button Text

A user may enter the text to render onto an image by entering text in atext entry box, as described above, whereby entry of multiple lines oftext is supported.

Text Layer

A user may apply customize text characteristics to an image, asdescribed above, which include: font specifications; pull down list of‘Font Type’; color selection for ‘Text Color’; ‘Red, Green, Blue’ entryboxes to fine tune color or allow a designer to enter their color valueif known; text effects, such as anti-aliased Text check box. Theanti-aliased option allows a user to minimize the pixel contrast at theedges of the text. As a result thereof, the edges of the text appearsmooth and blend into the background.

Save Batch

After finishing with the text rendering, a designer may save multipleimages as a batch. A batch file may contain phrases to apply to animage, i.e., image text and image name. Additional options include ‘Loada Batch File’—Select a (text.txt) file that contains the batchinformation; and ‘Choose a Destination Directory’—Select the directorythe new images are to be stored.

Project Manager

The Definer Project Manager allows a registered user to facilitate thedelivery of a successful vertical market solution. The Project Managerco-ordinates a number of Definer products including: Site Definer;Framework Definer; Framework Library; Graphic Designer; and ContentDefiner.

Once a user enters the Project Manager, a list of projects is displayedat client terminal 125 with the following hierarchy:

List of Projects

-   -   Current        -   Open            -   User ID            -   Module Type            -   Description            -   Status                -   Creation Date                -   Start                -   Work in Progress                -   Completion Date    -   New        -   User ID        -   Module Type            -   Industry            -   Theme        -   Description        -   Status            -   Creation Date    -   History        -   List of projects by modules.    -   Transfer Project        -   Transfer project to another user.

By selecting a project, the user (client terminal 125) is directed tothe ‘Task List Status’ for that module with a list of tasks allocated tothis user by the ‘Project Manager’, including the links to the correctmodule to perform this task.

Introduction Screen

The introduction screen of the Project Manager displays a menu with theDefiner modules responsible for a selected project, including: SiteDefiner; Framework Definer; Framework Library; Graphic Designer; andContent Definer. If one of these modules is selected, the user isprovided with the work in progress and the following project managementoptions relating to the selected Definer module.

Site Definer & Framework Definer

The user may select one of the following options (italicized) if eitherthe Site Definer or Framework Definer is selected at the introductionscreen:

New Projects

-   -   Lists the number of ‘New Projects’ submitted for Graphic Sets or        Framework creation.    -   View Definition        -   Lists the page topics.        -   Lists the navigation type.        -   Lists the relationship of the page links.    -   View Suitable Frameworks        -   Lists the Frameworks that will fit configuration    -   View Suitable Graphics        -   Lists the Graphic Sets available for both the selected            vertical market and theme.    -   Transfer Site Definer        -   Allows the Project Manager to transfer the selected project            to either a Framework Definer or Graphics Designer or both.            -   Enter the Graphic Designer ID or            -   Framework Definer ID to transfer project includes the                Project ID and creation date.        -   Projects for Approval            -   Lists the number of Projects for approval.            -   The Project Manager can view the new Frameworks and                Graphic sets before approval.        -   Completed Projects            -   Lists the full directory listing for Site Definer.                Framework Library

If the Framework Library is selected, the user may view the storedframeworks or add new frameworks. In one embodiment, the user may bedirected to the Framework Definer interface for viewing or addingframeworks.

Graphic Designer

The user may select one of the following options (italicized):

View New Framework

View New Graphic Sets

-   -   Graphic Sets Approval

Projects for Approval

Complete Graphic Sets

Category Graphics Library

The user may select one of the following options (italicized):

View Vertical Markets

View Themes

Content Definer

The Content Definer allows a registered user to detail content for avertical market solution (SIS) or web site template. At an introductionscreen, a list of the modules that cooperate with the Content Definerunder the Project Manager is provided to the user.

By selecting a module, the user (client terminal 125) is directed to theto the ‘Task List’ for that module and a list of tasks allocated to thisuser by the ‘Project Manager’, with the links to the correct module toperform this task. The ‘Task List’ also includes:

Edit Project-edit existing ‘Site Definer’.

Create Project—create new ‘Content Definition’

-   -   Industry specified by ‘Site Definer’.

Current Project Status

-   -   Creation Date    -   Not Started    -   Work in progress    -   Completed

The user is then directed to the module with the correct task selected.

Content Definer WYSIWYG Editor

A Default Framework is displayed in a WYSIWYG Workspace (similar to theSite Definer interface) with a site map preview of the navigation pagelinks of the web site specified by the Site Definer.

Site Map

By clicking on a page link from the site map preview, the page isdisplayed in the WYSIWYG Workspace. The Content Definer insertspre-defined ‘Complex Components’ directly into the Content areas of thepage, including: Text with tables; Text with photo's; FAQ's; Price List;E-Mail form; and Hit Counter. The Content Definer may insert tables intothe Content area; otherwise the editing level is the same as an end userusing Web Definer. When inserting industry specific text (either byclicking on existing text or inserting new text) the Content Definerspecifies the ‘Quick Start’ components which populates informationwithin the users web site. The populated information specified by theContent Definer will generate the industry specific form, to be enteredby the end user as part of the registration of a Definer account.

The Content Definer also provides a menu for: Save Project; ExitProject; Previous Menu (Project Manager); and Help. A Tools Menu sectionis also provided for previewing a thumbnail of each of the availableFrameworks that fit the site definition. By clicking on a thumbnail, apreview of the selected Framework is displayed as the Content area inthe WYSIWYG Workspace.

It is noted that if Content Definer modifies the Content area for theselected Framework, those change only effect that Framework.

Graphics Library

The Definer Graphics Library allows the ‘End User’ to insert multipleimages from a clip art library. The cataloging of these images is by thefollowing:

-   -   Cataloged by vertical market.    -   Photograph's    -   Clipart        Category Image Library

The Definer Category Image Library is where the specific vertical marketand theme images for a template are stored. The Project Manager hasaccess to the category to approve and check availability of images. TheImage Definer also has access to the category for reference.

Framework Library

The Definer Framework Library is designed to allow Project Manager,Image Definer, Framework Definer, and Web Definer to manage andco-ordinate Frameworks.

The Framework Definer develops frameworks that are submitted to theDefiner Framework Library. The Project Manager manages the number ofcomplimenting images and number of Framework variations available to theImage Definer and Web Definer.

Definer Module Integration

The three interconnected modules, Site Definer, Section Definer, andLayout Definer provide the business market with the ability to producetop-grade, content-rich web sites with unique, end user-determineddesigns. From a single participant (an industry expert, for example) toa group of any size (an entire vertical market), this product trio isessentially a publishing tool that enables the user(s) to create andpresent industry-specific content. Among the many various ways theseeasily-accessible devices extend user capabilities are: clear, logicallycross-referenced site maps; User-specified navigation indicators; andcomplete customization and fast update procedures. Prospectiveparticipants span the full spectrum of business constituencies:sponsors; software developers; industry experts; and vertical industrygroups.

Another segment of the Definer back-end product suite is a graphicdesign platform two components: Image Definer and Framework Definer.Designers may use Image Definer to build core multi-dimensional graphicsfor subsequent manipulation and second-generation usage. The FrameworkDefiner may be employed to design layouts that suit specific image sets.

Thus, the Definer back-end product suite may be used to design atargeted publishing/marketing web site that is hosted using the WebDefiner, which will be described in detail below, that provides thetools for building and maintaining web sites to users and/or businessesof the targeted category. For example, a designer may integrate newsuggested content, navigation, styles, colors, art, etc. into a targetedpublishing/marketing web site where new users of the targeted categorymay create new web sites by choosing from the suggested content,navigation, styles, colors, art, etc., provided by the designer. The website categories have been described as GISs and SISs in the illustrativeembodiment thus far. However, a designer may use the Definer back-endproduct suite to redefine the categorization, e.g., fiction writers asan equivalent of a GIS; and mystery writers, horror writers, romancewriters, etc. as equivalents of individual SISs under fiction writers(GIS).

Web Definer

With a collection of site templates for a wide range of industries andbusinesses, an end user at client terminal 125 may construct and publisha complete web site using the Web Definer.

Referring back to FIG. 5, Web Definer link 530, if selected, directsclient terminal 125 to the Web Definer module for creating andpublishing a web site. In accordance with another embodiment of theinvention, the Web Definer module is made available to general end-usersfor creating web sites without access to the remainder of the Definermodules. According to this embodiment, the URL identifying the WebDefiner software at server 105 is made available to such end-userswhereby they (e.g., client terminal 125) are directed to a welcome pagefor the Web Definer separate from page 300. The operation of Web Defineras used by such an end-user will now be described.

FIG. 46 illustrates an example of an initial welcome page 4600 similarto welcome page 300 that is displayed on client terminal 125 afteraccessing a predetermined URL identifying server 105 for the end-userWeb Definer service. As shown in FIG. 46, initial page 4600 includes aplurality of links 4605, 4607, 4610, 4612, 4615, 4617, and 4620, foraccessing additional information on the Web Definer service and theservice provider. For example, link 4605, if selected, directs clientterminal 125 through a series of demo pages for demonstrating thefeatures and services that are provided by the Web Definer. Button 4622directs client terminal 125 to a web page that allows a user to registerfor the use of Web Definer.

For existing members already subscribed to the services provided byserver 105, text-entry spaces 4630 and 4635 are provided for entering apreviously-defined member name and corresponding password, respectively.Server 105 authenticates the entered information after a click on “ok”button 4640. If the information from spaces 4630 and 4635 correspond toa valid, previously-defined, existing member, then client terminal 125is directed to a web page comprising services and links designed for theexisting member, as will be described in detail below.

If a user has not previously registered with server 105, as noted above,link 4622 directs client terminal 125 to new member page 4700 so thatthe new user may register, as illustrated by FIG. 47.

As shown in FIG. 47, new member page 4700 comprises a plurality oftext-entry spaces 4705, 4710, 4715, 4720, 4725, 4730, and 4735 forentering information regarding the business and basic accountinformation of the new user at client terminal 125. Spaces 4705, 4710,4715, 4720, and 4725 are provided for entering a user name, a password,and password/username reminder Question and Answer to create an end-useraccount for Web-Definer. Spaces 4730 and 4735 are provided for the entryof the user's E-mail address and business name to be registered withserver 105.

After all the information has been entered, the user at client terminal125 may click button 4740 whereupon the information is registered withserver 105. According to the invention, at least one business categoryselection page 4745, shown in FIG. 47B, is transmitted from server 105to be displayed on client terminal 125 for selecting the generalindustry (4750) and a specific kind of business (4755) within theindustry of the end-user's business. The selection is displayed in area4760.

After the correct business type has been selected, the end-user mayclick a “join” button 4765, which directs client terminal 125 to anintroduction page, as shown in FIG. 47C, for describing the variousdesign and on-line help features offered by the Web Definer interfacefor web site generation. It is appreciated that a user may be registeredautomatically whereby user information is retrieved from a database.

In accordance with the illustrative embodiment of the invention, afterregistration of the information submitted by the user in box 4705,server 105 generates a web site with a unique structure that isgenerally structured to correspond to the registered industry, business,and company information. For example, the web site may be generated inaccordance with a site template that is defined using the Site Definerfor an SIS selected by an end user at client terminal 125 (which isunder a selected GIS). It is noted that a site template defined usingthe Site Definer may include a number of variations, such as imageswithin an image set, navigation models, themes, colors, etc. Thesevariations may be programmed as complementary sets using the Definersuite (e.g., Image Definer for defining complementary image sets). A website may be generated according to the site template based on anyrandom, pseudo-random, or non-deterministic algorithm to yield aparticular combination of such variations. Therefore, any two usershaving identical profiles, preferences, SIS's, etc. would have a verysmall chance of receiving the same generated web site.

A generated web site, one page of which is displayed in FIG. 48 with itsweb page structure, is assigned to the user at client terminal 125, andis displayed as a template web site for the user's review andmodification. The Web Definer interface of the invention and its variousdesign, edit, and modification features are presented in a plurality offeature web pages. These feature web pages each include a specificinterface that is displayed with the template web site to allow the userto make desired edits, modifications, additions, etc. to the displayedtemplate web site. The overall control for accessing these variousfeature web pages is provided in a Web Definer control bar at the top ofeach feature web page. Advantageously, the user at client terminal 125may “jump” from one feature web page to another instantaneously in orderto access the corresponding desired design features. Each feature webpage accessible through the Web Definer interface and the correspondingdesign features available at each feature web page will now be describedin detail.

FIG. 48 illustrates Design page 4800 for designing the overall frameworkor “look and feel” of the template web site, including its structure oftemplate web pages. In accordance with an embodiment of the invention,Design page 4800 comprises a template web site area 4805, a control bar4810, and design tool area 4815. Control bar 4810 comprises a set ofbuttons 4820, which direct client terminal 125 to the aforementionedfeature web pages wherein various design, edit, and preview tools andonline help features are available to the user. As shown in FIG. 48,design button 4825 is highlighted, reflecting that Design page 4800 ison display at client terminal 125, as selected by the user. A controlbar and a set of buttons corresponding to control bar 4810 and buttons4820 are included in all of the feature web pages, and that Design page4800, or any other of the feature pages that will be described isaccessible therefrom by simply clicking the button corresponding todesign button 4825, or any other appropriate button, as desired.

As illustrated in FIG. 48, template web site area 4805 displays thetemplate web site generated by server 105 according to the informationpreviously provided by the user in pages 4700 and 4745. Template website area 4805 allows the user at client terminal 125 to preview thetemplate web site as it would appear on any client terminal as if itwere published to Internet 120. As shown by FIG. 4, the template “home”page of the template web site is displayed in area 4805 by default. Muchlike welcome page 4600, this template “home” page would be the initialpage that greets a user at a client terminal if the template web sitewere published on Internet 120.

In accordance with the invention, any changes, edits, modifications,deletions, or additions to the template web site via the tools andfeatures presented at the various feature web pages, including Designpage 4800, are immediately incorporated to the template web site atserver 105 and displayed at template web site area 4805. Thus, the userat client terminal 125 can instantly review such changes as they wouldappear on Internet 120 instantly. It is appreciated that the frameworkor “look and feel” of a web site should be consistent throughout itsentire structure of web pages. Thus, in accordance with the invention,any changes made via the interface presented on Design page 4800 to thetemplate “home” web page displayed in area 4805 are automaticallyincorporated to the entire structure of template web pages.Advantageously, a user is not required to make corresponding changes toeach template web page.

Design tool area 4815 comprises a plurality of design tools specific toDesign page 4800 that are available to the user. A color bar applet 4830provides a spectrum of colors available for selection whereby the usermay select a color scheme for the template web site by sliding anindicator 4835 to the desired color. A color box 4840 displays a sampleof the selected color. By clicking a box 4845, the user may change theoverall color scheme of the template web site to the selected color asshown in box 4840. As will be described in further detail below, servercomprises software in accordance with the invention that automaticallycoordinates the color schemes of the template web site to fit theselected color. As mentioned before, the color scheme of the templateweb site, including all of the template web pages, is changed accordingto the selected color and displayed in template web site area 4805 rightaway for the user's review.

A selection bar 4850 provides a plurality of choices for the layout ofweb site. A preview box 4855 displays a small preview of the selectedlayout at selection bar 4850. This layout function provides the userwith an easy tool for quickly viewing the arrangement of one or morebuttons 4857 and links 4859 on the template web site according to thevarious predetermined arrangements that are available to a user. Anapply button 4860, if selected, changes the template web site inaccordance with the selected layout. Again, the new layout is applied toeach template page of the template web site immediately and displayed intemplate web site area 4805.

The design tools presented on Design page 4800 described thus far enablethe user to change individual design aspects, such as color scheme andlayout, of the template web site as displayed in the template web sitearea 4805. A selection bar 4865, on the other hand, provides a selectionof overall themes in “looks and feels,” or styles, for the template website. After the user clicks a “Show More” button 4870, server 105generates a completely new template web site in accordance withinformation entered by the user in pages 4700 and 4745 and the selectedtheme at selection bar 4865. Advantageously, a single access to server105 enables the presentation of a new look, without any change to thecontent. Each change incorporates changes in various design attributes,including color, layout and image set. This newly generated template website is then displayed in template web site area 4805. To enable theuser to select between multiple template web sites, a plurality ofbuttons 4875, 4880, and 4885, and selection bar 4890 are provided.Buttons 4875, 4880 and 4885 allows the user to save multiple templateweb sites and to restore saved template web sites for display.Advantageously, the user is able to save a collection of template websites having different themes, colors schemes, or layouts. The user isfurther able to view his collection of web sites in comparison with oneanother and select one that is most suited for the user's business.

The design tools in area 4815 on Design page 4800 described thus far aretools for changing the overall appearance of the template web sitedisplayed in area 4805. Design page 4800 includes additional “popup”menus for changing individual components of the template web site. Thesepopup menus appear when the user selects a specific component of thetemplate web site displayed in area 4805. For example, a title bar 4892may be selected by the user whereupon a popup menu would be displayedwith various design options for the title on the displayed page.

FIG. 49 illustrates a popup menu 4900 that appears at Design page 4900when a specific component of the template web site, for example, titlebar 4892, is selected at client terminal 125. As shown in FIG. 49, popupmenu 4900, like the design tools in area 4815, allows the user to changeindividual design aspects (namely the selections in an upper menu 4905)and the overall “look and feel” (namely the selections in a lower menu4910) of the selected component and the background set against thecomponent.

Upper menu 4905 provides the user with selections for changing specificdesign aspects of the selected component and its background. In thisillustrative embodiment, the color of the selected component, the textattribute of any text within the component, and the color of thebackground set against the component may all be changed individually andindependently of one another. For example, the user may change the colorof title bar 4892 by selecting “Change color” in upper menu 4905. If theuser selects to change the color of title bar 492 or its background, aseparate window is displayed, which provides the user with control ofsuch changes. Similar, changes to the other attributes can also be madethrough the selection of other choices from upper menu 4905.

FIG. 50 illustrates a color change window 5000 that is displayed as aseparate window on client terminal 125 whenever the user makes aselection in upper menu 4905 to change a color. Similar to the colorchange tools in design tool area 4815, color change window 5000comprises a color bar applet 5005 and a color box 5010. In accordancewith the invention, color bar applet 5005 makes available to the useronly colors that have been predetermined to aesthetically fit into theoverall color scheme of the template web site. As will be described infurther detail below, server 105 retrieves the color scheme for thetemplate web site, which is indicated by color box 4840, and selects allcolors that are complementary to the scheme. These colors are thenapplied to color bar applet 5005 for the user's selection. The userselects a color by sliding an indicator 5015 along applet 5005, andcolor box 5010 displays a sample of the selected color. Alternatively,an actual image selected for color change may be displayed in color box5010 so that an accurate preview of a color change is displayed to theuser. The user may apply the selected color to the component orbackground by clicking an “ok” button 5020, or retain the existing colorby clicking a “cancel” button 5025.

FIG. 51 illustrates a text change window 5100 that is displayed as aseparate window on client terminal 125 when “Change Text Attribute” inupper menu 4905 is selected. As shown in FIG. 51, text change window5100 includes a font selection bar 5105, a size selection bar 5110, anda color selection button 5115. Accordingly, the font and size of a textportion 4894 may be selected using bars 5110 and 5115. The color of textportion 4894 may be changed by clicking button 5115, which would displayanother window that is similar to color change window 5000 shown in FIG.50. Again, the selections for the font, size, and color in thisillustrative embodiment are limited to those that have been determinedby server 105 to be complementary to the overall theme of the templateweb site. A button 5120 applies the selected changes to the template website, whereas a button 5125 exits from window 5100 without making anychanges.

Referring once again to FIG. 49, lower menu 4910 allows the user toalter the overall “look and feel” of the selected component or itsbackground. Specifically, the user may “scroll” between appearancevariations of the selected component (by clicking “Show Next Variation”or “Show Previous Variation”) and its background (by clicking “Show NextBackground Variation” or “Show Previous Background Variation”) fromlower menu 4910. As will be described in further detail, server 105includes a plurality of variations for the appearance of each componentthat are complementary to the overall theme or “look and feel” of thetemplate web site, as selected and indicated by selection bar 4865.

FIG. 52 illustrates an example of the template web site of FIG. 48,having its components changed by the user using popup menu 4900. A titlebar 5205 of FIG. 52 corresponds to title bar 4892 in FIG. 48. As shownin FIG. 52, title bar 5205 includes a graphic portion 5210, whichdiffers from that of title bar 4892. Graphic portion 5210 is an exampleof an appearance variation of title bar 4892, which the user may selectby choosing “Show Next Variation” in lower menu 4910 (FIG. 49). It isnoted that graphic portion 5210 has been determined by server 105 to fitwithin the chosen “look and feel” theme as indicated by a selection bar5215, corresponding to bar 4865 of FIG. 48. Additionally, the user mayrestore graphic portion 5210 to that of title bar 4892 by simplyclicking “Show Previous Variation” in lower menu 4910. FIG. 52 alsoillustrates a text portion 5220 of title bar 5205 having differentattributes than those of title bar 4892. Text portion 5220 is an exampleof changes made to title bar 4892 using “Change Text Attribute” fromupper menu 4905.

As mentioned before, any “look and feel” changes made via the interfacepresented on Design page 4800 to the template web site displayed in area4810 are automatically incorporated to the entire structure of templateweb pages. It is appreciated that such changes may be incorporatedaccording to the hierarchy of the template web site, wherein the changesare incorporated only to a selected web page and the web pages branchingtherefrom. For example, a user may color each of the main branches ofthe template web site differently, or have different variations ofimages in each of those branches. For instance, if a user selects the“Home” page and changes the color, the color of the entire site ischanged. But if the user selects a lower level page, such as the “AboutUs” page, and changes the color, only the color of the “About Us” pageand the pages underneath it are changed.

The structure and content design of the template web pages according tothe invention will now be described in detail.

FIG. 53 illustrates a Content page 5300 in accordance with theinvention. As shown in FIG. 53, Content page 5300 comprises a web sitestructure tree 5305, a simplified structural design area 5310, and acontrol bar 5315. A highlighted button 5320 reflects the user'sselection of Content page 5300.

Web site structure tree 5305 displays the structural hierarchy andinterrelationship of the template web pages. Each “page symbol”rectangle on tree 5305 represents a template web page within thetemplate web site structure. For example, a top “Home” page 5322represents the template “home” page on display in area 4810 of Designpage 4800. As illustrated by FIG. 53, each branch stemming from homepage 5322 ends at a template web page, for example, “For Sale” page5324, which may further branch into additional template web pages, etc.Some branch template web pages, for example, “for sale” page 5324,include a question mark. This question mark denotes that the templateweb page may be enabled or disabled by the user, i.e., included orremoved from the structure of template web pages. In other words, if thetemplate web site is published to Internet 120, only the enabledtemplate web pages would be included in the publication. It is notedthat template “home” page 5322 is the “root” of the template web site,and, thus, does not include a question mark—i.e., it may not be disabledat Content page 5300.

As mentioned before, server 105 automatically designs a structure oftemplate web pages for the template web site pursuant to the informationentered by the user in box 4705. Tree 5305 displays the structure thusdesigned by server 105, with different colors indicating the variousenabled and disabled template web pages. For example, an “Employment”page 5326 is displayed in a different color, indicating that it isdisabled. In accordance with the invention, the user may manually enableor disable the template web pages bearing a question mark by clicking onany one of them. A popup menu is displayed when the user, say, clicks on“for sale” page 5324 wherein the user is presented with the choices ofenabling or disabling selected page 5324.

In addition to manually enabling and disabling the template web pages,simplified design area 5310 includes a list of questions relating to thespecific business entered by the user in box 4705. Each of the questionsin design area 5310 also pertains to the enabling and disabling of atemplate web page. Each question that is in bold type directlycorresponds to the enabling and disabling of a particular template webpage that bears a question mark in tree 5305. The user may answer “yes”or “no” to these questions and the corresponding template web pageswould be accordingly automatically enabled or disabled. For example, aquestion 5328 in design area 5310 corresponds to a “for sale” page 5324in tree 5305. Hence, if the user answers “no” to question 5328, page5324 is automatically disabled. Some questions in bold type are groupedwith additional questions in normal type, to which the user may answer“yes” or “no.” According to the user's answers to these questions,certain basic content in the corresponding template web page is enabledor disabled.

FIG. 54 illustrates a Details page 5400, wherein detailed contactinformation for the user and the user's business can be entered into aplurality of text entry spaces 5405. As illustrated by FIG. 54, a button5407 of a Web Definer control bar 5408 is highlighted reflecting thefact that the user has selected Details page 5400. A template web sitetree 5409 displays the structural hierarchy of the enabled template webpages, i.e., the structure of web pages that would be published if theuser were to publish the template web site. By selecting a button 5410the information entered into spaces 5405 is updated at server 105 andincorporated to the template web site automatically. In essence, theinformation entered at feature page 5400 may be viewed as a collectionof global variables applicable to the entire template web site. As such,any changes to this information would affect all template web pages thatinclude such information. It is appreciated that an additional featurethat allows a user to create new global variables, such as unit price ofa product, may be included in feature page 5400. Advantageously, thisfeature allows a user to define a piece of information that is displayedin multiple places within the template web site as a global variable,and any changes to this information can be done conveniently at featurepage 5400 without having to edit every instance this information isdisplayed in the template web site.

FIG. 55A illustrates an Advanced Edit page 5500, wherein the user isable to edit each component of each template web page. As shown in FIG.55A, edit feature page 5500 comprises a template web site structure tree5505, a template web site design area 5510, and a Web Definer controlbar 5515. A button 5517 in Web Definer control bar 5515 is highlightedreflecting that the user has chosen edit feature page 5500.

As with tree 5409 in FIG. 54, a structure tree 5505 displays thestructural hierarchy of the template web pages that have been enabledfor the template web site. The user may edit any template web pagewithin the structure by simply clicking on a page, say, a “For Sale”page 5507, in structure tree 5505. A popup menu is displayed when such aselection is made. It is noted that web pages that have been selected(to be included in the published web site) are indicated with a checkmark, whereas web pages that have not been selected are indicated with across mark.

FIG. 56 illustrates a structure edit popup menu 5600 that is displayedon Advanced Edit page 1100 when the user clicks on a template web page,e.g., “For Sale” page 5507, in structure tree 5505. As shown by FIG. 56,the user may add a template web page that branches from template page5507 by clicking an “Add page” menu item 5605. The user may also deletetemplate page 5507 by selecting “Delete” 5615. “Move Up” 5620 and “MoveDown” 5625 allow the user to move template page 5507 “up and down” theorder as displayed in tree 5505, respectively. In other words, templatepage may be “moved up” before template page 5508, or “moved down” aftertemplate page 5509. “Cut” 5630 and “Paste” 5635 apply the well-knownconcept of “cut and paste” to editing the template pages on structuretree 5505. As such, a detailed description is not necessary. Finally, inthe illustrative embodiment, the user may click “edit” 5640 if the userwishes to edit selected template page 5507.

Returning now to FIG. 55A, a template web page to be edited is displayedin design area 5510. For illustration purposes, the template “home” pageis on display in a design area 5510 for editing. The page displayed inarea 5510 contains edit (‘E’ button) and insert (‘I’ button) buttons foreach “cell” in table 5519. For example, edit button 5520 allows the userto edit the cell in a table 5519 that contains image 5530, and insertbutton 5525 allows the user to insert additional components to the cell.Likewise, edit button 5535 and insert button 5540 allow the user to editand insert additional components to the cell containing text component5545, respectively. Components that may be inserted through insertbuttons 5525 and 5540 include images, tables, online stores, structureddata, page selectors, e-mail forms, custom HTMLs, and distinct web sitecomponents such as search buttons, fortune cookie programs, FrequentlyAsked Questions (“FAQs”) or marquee scrolling bars, etc.

Edit buttons 5520 and 5535 allow the user to edit the cells that containcomponents 5530 and 5545, respectively. FIGS. 57 and 58 illustrate the“Edit Table” feature pages 5700 and 5800 for editing individual cellsand an entire table such as a component 5519, respectively. As shown inFIG. 57, a selected (or “highlighted”) cell may be edited to change itsdimensional ratio, background color, vertical and horizontal alignments;its contents may be cleared; or, cells may be inserted adjacent to it.The user may click on a button 5705 to edit the entire table containingthe selected cell, at which point client terminal 125 is directed to afeature page 5800. As shown by FIG. 58, various characteristics, such asthe dimension, alignment, and background color, etc., of the selectedtable, e.g., component 5519, may be edited by the user.

With respect to the content components contained in the cells of table5519, the user may edit such content by simply clicking on them while atAdvanced Edit page 5500. When the user clicks on text component 5545, apopup menu 5640, as illustrated by FIG. 56B, appears. A standard wordprocessor program is loaded and displayed in a separate window to allowthe user to edit the actual text content of component 5545. On the otherhand, when the user clicks on an image component, such as component5530, client terminal 125 is directed to an image edit feature pagewhere the user is presented with a collection of design tools forediting the selected image, e.g., component 5530.

FIG. 59 illustrates an image edit page 5900 that is displayed when animage component such as component 5530 is selected by the user while inAdvanced Edit page 5500. As shown in FIG. 59, text components subsequentto image component 5530 may be left or right aligned to component 5530using a selection bar 5905. A selection menu 5910 provides the user witha choice of all enabled template web pages to which the user may linkcomponent 5530. For example, if the user selects template “for sale”page 5507 in menu 5810, component 5530 is “linked” to template page5507. This “link” means that if template web site were to be publishedto Internet 120, any visitor to the site would be directed to page 5507if the visitor were to click on component 5530.

Image component 5530 may be rescaled using an entry space 5915. Inaddition, the user may replace component 5530 with a new image file. Anentry space 5920 and a button 5922 allow the user to specify an imagefile or browse client terminal 125 for an image file to replacecomponent 5530. Buttons 5925 and 5927 direct client terminal 125 toimage libraries stored at server 105, from which the user may retrieveand incorporate a stock image to component 5530. FIG. 60 illustrates aGeneral Image Library page 6000 that provides access to a General ImageLibrary stored at server 105 after the user clicks on a button 5925. Asshown in FIG. 60, the user may select a specific “category” or industryusing a selection bar 6005 and a button 6007. For example, the user mayselect “property and construction,” whereupon a collection of stockimages under “property and construction” is displayed in an area 6010.Illustratively, the collection of images is displayed six images at onetime, and the user may browse through pages of the image collection byclicking one of buttons 6015. To incorporate an image from thecollection to component 5530, the user simply clicks on the image inarea 6010.

Returning now to FIG. 59, the user may also render text within imagecomponent 5530. In other words, text may be superimposed onto the imageof component 5530 where the attributes of the superimposed text—such asfont, font size, color, and alignment and offset within the image—isdesigned using tools 5930.

It is noted that “Advanced” button 5550 in FIG. 55A is selectedreflecting the advanced edit features, namely, a plurality of table celledit buttons 5520, 5525, 5535, and 5540 being provided to the user. A“Basic” editing page is shown in FIG. 55B where “Basic” button 5555 isselected. As illustrated by FIG. 55B, the “Basic” editing page does notprovide any table cell edit buttons. Instead, the user is allowed toaccept the dimensional layout and simply edit the content of thecomponents of the template web page. In addition, in the basic mode,there are no pop-ups, but components are edited directly when clicked.In the advanced mode, instead of automatically editing a selectedcomponent, four main options, edit, cut, copy, and paste are presented.

As noted above, every feature web page for providing web site designinterface according to the invention includes the overall Web Definercontrol bar. Illustratively, this Web Definer control bar iscorrespondingly incorporated in feature pages 4800, 5300, 5400, and 5500as control bars 4805, 5315, 5408 and 5515, respectively. Advantageously,the user may access any feature web page from any other feature web pagesimply by clicking a button on the Web Definer control bar.

FIG. 61 illustrates a Web Definer control bar 6100 as correspondinglyincorporated as bars 4805, 5315, 5408, and 5515. Feature web pages thatcorrespond to one of a plurality of buttons 6105, 6110, 6115, and 6120,namely, feature pages 4800, 5300, 5400, and 5500, have been described indetail. Miscellaneous functions corresponding to a plurality of buttons6125, 6130, 6135, 6140, and 6145 will now be described.

If the user clicks on button 6135 from any feature web page, e.g. pages4800, 5300, and 5500, client terminal 125 is directed to a subsequentfeature page as if each feature page represents a step in a step-by-stepprocess for creating a web site. For example, client terminal 125 isdirected to page 5500 from page 4800 after an end-user finishes editingthe template web site and selects button 6135 at page 4800.Illustratively, Web Definer moves from left to right along buttons 6105,6110, 6115, etc. In other words, client terminal 125 is initiallydirected to feature page 5300 corresponding to button 6105, and then tothe features pages corresponding to buttons 6110, 6115, etc.,respectively, with each click on button 6135. Help button 6140, ifclicked, directs client terminal 125 to a help page 6200 where onlinehelp in using Web Definer is provided. FIG. 62 depicts a sample helppage 6200. Exit button 6145 allows an end-user to exit Web Definer.

After all the desired edits and modifications have been made, the usermay choose to preview the template web site without the designinterfaces according to the invention. By clicking “Preview” button 6125in Web Definer control bar 6100, the template web site is displayed atclient terminal 125 as it would appear if published to Internet 120.FIG. 63 illustrates a template web site preview displayed by clickingbutton 6125. It is noted that all design interfaces, including WebDefiner control bar 6100 is removed from the screen for this previewdisplay.

After previewing the template web site and ensuring that it issatisfactory, the user may click the “Publish” button 6130 on WebDefiner control bar 6100. FIGS. 64A and 64B illustrate a registrationpage 6400 where information on the user and the user's business isentered and registered with server 105. The user may also specify apreferred domain name in a space 6410 for publishing the template website. As shown in FIG. 64B, the user must review the terms andconditions for publishing the template web site and so indicate in a box6415 before the template web site can be published by clicking a button6420. A “Clear Form” button 6425 clears all of the entry spaces in FIG.64A so that the user may re-enter the information.

Referring back to FIG. 46, link 4605 directs client terminal 125 to a“Start Demo!” page where the above-described features of the Web Defineris demonstrated on client terminal 125. FIG. 65 illustrates a “StartDemo!” page 6500 that is displayed on client terminal 125 after link4605 has been selected. As shown in FIG. 65, “Start Demo!” pagecomprises links 6505 through 6520 that correspond to links 4605 through4620 of initial page 4600. In addition, page 6500 also comprises “Join”button 6522 that corresponds to button 4622 of initial page 4600.

Definer Web Site Integration to a Third Party Portal

The Definer platform may be used to construct portal sites. In addition,web sites created using Definer may add real-time instant portalservices, immediately turning those sites into Portals. Instant Portalservices may include: Web-based e-mail; Group and personal calendars;Message boards; Chat rooms; and Special-interest clubs

Software Architecture

With reference to FIG. 66, the architecture of a software system 6600for implementing the Definer service in accordance with the inventionwill now be described. System 6600 is preferably constructed usingobject-oriented programming with the primary architecture being splitinto three: the Definer (as described above), an image server 6605, andexternal components 6610. The Definer is provided using an edit store6615 (or “local store”) and a data store 6620. External components 6610are web site components that are developed outside of the Definerenvironment using an SDK. The SDK for creating external components to beused with the Definer, in accordance with the invention, will bedescribed in further detail below.

As shown in FIG. 66, Edit store 6615, Image server 6605, and externalcomponents 6610 are designed to be able to exist on many machines, thusmaking the system scalable. Accordingly, communications between theseentities may be accomplished using standard Internet-type protocols,such as HyperText Transfer Protocol (HTTP).

The Definer portion of system 6600 comprises principally edit store 6615(including a local store 6625), data store 6620, and a database (notshown), which may be a traditional relational database (e.g., Oracledatabase). Edit store 6615 accommodates all of the Definer userinterface functionality (i.e., all of the editing logic, the publishingprocess, etc). Thus, a majority of the application is within Edit store6615. Data store 6620 is a repository for content information, and therelational database is used to store information on users, sponsors,accounting information, etc.

In accordance with the invention, a plurality of additional edit stores(not shown) may be connected to data store 6620. These separate editstores may run on separate machines, e.g., general-purpose computers,that are in different physical (geographical) locations. Accordingly,Remote Method Invocation (RMI) protocols may be used for the remotecommunications between edit store 6615 and data store 6620. Forincreased compatibility and flexibility, the Common Object RequestBroker Architecture (CORBA) may be used. Thus, system 6600 is scalablein that edit stores can be conveniently added to handle larger numbersof concurrent editing sessions on Definer. Furthermore, multiple webservers may be deployed at various localities for each edit store, whichmay serve a particular geographical region or community, connected to acentral data store. Edit store 6615 also employs aggressive cachingimplemented near its service customers, for example, at web server 6630,for improved performance. Data store 6620 synchronizes the contentinformation between the different edit stores. For example, if a userchanges geographic location between editing sessions where such sessionsare handled by different edit stores, data store 6620 provides adistributed environment that can pass information around from one pointto the other. This arrangement allows for a faster and more responsiveDefiner interface. Thus, data store basically acts as a centralrepository for information and is a centralization point for all of thedata, including content for generating web sites and templates usingDefiner.

Referring back to the illustrative embodiment of FIG. 66, web server6630 also interfaces with image server 6605 that processes all imagesused for Definer presentation or features. As described extensivelyabove, Definer provides numerous image manipulation features, such asrecoloring, rendering text, filtering, etc. for site template and website generation (e.g., Site Definer and Web Definer). Image server 6605returns images to the generated sites or templates. In Definer, imagesare created in real time, and so the text on each of the images isactually rendered on demand. Image server 6605 provides for suchrendering. Image server 6605 can also re-color images, change a bluecolor to red, and put drop shadows and various other effects onto animage. Its primary function is to place text on images to generatenavigation images. Therefore, image server 6605 dedicated for processingthese manipulations improves the efficiency of system 6600. Furthermore,real-time processing of the image manipulations using image server 6605allows for more spontaneous WYSIWYG editing while dispensing with theneed for storing variations (manipulated versions) of an image.

System 6600 also includes a library of external components 6610, whichare web site components developed outside of the Definer environmentusing an SDK (not shown). External components 6610 may be developed byand exchanged among users. As discussed above, Definer provides for easyincorporation of these components to a generated web site or template.The SDK and exchange mechanism for external components 6610 inaccordance with the invention will be described in further detail below.

As shown in FIG. 66, all of the Definer software components residebehind web server 6630. Web server 6630, residing in server 105 shown inFIG. 1, sets a user connection through Internet 120 and interpretscommand requests therefrom. Accordingly, server 105 routes an imageserver request to image server 6605 and a request to Definer to editstore 6615.

FIGS. 67A and 67B illustrate the software architecture and the datastructure of edit store 6615.

As shown in FIG. 67A, edit store 6615 comprises a Web Server Interface(“WSI”) 6705 on the front-end for communicating with web server 6630.Web server 6630 is connected to a Servlet Application Program Interface(API) (not shown), which is connected to a runtime server (not shown),which, in turn, is connected to WSI 6705. The servlet API is an API forinterfacing web servers, for example, web server 6630.

With reference to FIGS. 67A and 67B, the Definer process is divided intoa series of stages, or levels. The first level is the runtime server.The runtime server handles session management, where once the user haslogged in, information about that user is stored so that the user neednot log in again. HTTP used for the web is a stateless protocol. Otherthan cookies, there is no way to tell one request coming in fromanother. Thus, session management is used to make such a determination.The runtime server also handles user authentication and registration. Inaddition, the runtime server controls the members control console(“MCC”) and the sponsors control console (“SCC”), which are two parts ofthe user interface that handle user information such as change ofpassword, change of telephone number, etc. The runtime server is fairlyindependent from Definer because it provides different types of servicesthan the core Definer services oriented towards editing web pages andtemplates. The runtime server is oriented towards providing asession-based environment. The runtime server may also be used for someinstances of web page delivery. For dynamic content, such as a shoppingcart, in a static web page, the runtime server resides in front of theweb page and provides the runtime support to facilitate the dynamiccontent. A shopping cart in accordance with the invention will bedescribed in further detail below.

Once a request passes through the runtime server, it is passed to WSI6705. WSI 6705 essentially re-implements parts of the interface toimprove its usability. WSI 6705 retrieves the request, places it intoconforming format, and then forwards it to a Manager 6710. Manager 6710restores the user context—what site and page a user is working, thenexamines the request and extracts the commands the user wishes toexecute. This command is split into two parts: Process and View. Everycommand that is sent to Definer may consist of these two parts.

Process is a requested action, such as deleting a block of text orinserting a component. View generates the response. So if a user wishesto delete a piece of text, the user would invoke delete text in theuser's process specification and edit page in the user's viewspecification. Manager 6710 recognizes the delete text command,retrieves all the arguments that would be relevant to deleting therequested piece of text, deletes the text from the page, and returns theedited page in accordance with the view process. The page is edited, anda view of the edited page is provided to the user. This new page doesnot include the piece of deleted text. Thus, system 6600 according tothe invention executes the Process, then executes the View procedure,and returns a response to the user.

All pages of the Definer interface in accordance with the invention areclassed according to two methods, coincidentally, one called process andthe other called view. This classification allows for the implementationof the user interface—Resultpage 6715. Resultpage 6715 is of an abstractclass defining the basis of classes that generate user interfaces andincluding parameterized content. For example, when the user inserts animage, or uploads an image, what is seen is handled by a class that isan extension of Resultpage 6715.

In summary, a request enters through web server 6630, passes to theruntime server through WSI 6705 to Manager 6710. Manager 6710re-establishes the user context, splits the request up into its processand its view methods, then loads the relevant Resultpage 6715 for theprocess method and executes the process method thereon. Manager 6710then takes the generated response, identifies and executes the properview method, and then generates the response in HTML that is then passedback up through to the user. Thus, manager class creates and restoresthe user context; performs user authentication; directs execution ofuser commands; and provides global re-write facilities. To this end, theManager class may include a number of objects: user context (not shown),command execute, and HTML re-write. The User Context performs userauthentication, manages “cookies” used to identify user login, andrecovers context for user interface facilities, such as maintaining acut and paste clipboard. The Command Execution determines from userrequest the command to be executed and performs the Process and Viewmethods. The HTML Re-write handles self referential URLs, reference toImage server 6605, and reference to External Applications.

The user interface provided by Manager 6710 will now be described infurther detail with reference to the data structure of edit store 6615illustrated in FIG. 67B.

Each page of the Definer that the user sees at, say, client terminal 125is represented in Definer as an Ordered tree 6720. The Ordered TreeClass is a storage structure of metadata consists of an ordered list ofComponents 6725, encapsulating the container relationships amongstvarious elements (tags) of the page. It is similar to Document ObjectModel (DOM) but is enhanced to provide more effective user interface.Each component generates HTML for each of the five modes that system6600 uses. These five modes are View, Edit, Publish, Edit Component, andInsert Component. The Component class is also used to implementinterface to external components. As each Ordered Tree is parsed, therelevant mode is used to create the HTML for that Component. The HTML iscollected to generate the web page that is passed back and appears onthe user's browser at, e.g., client terminal 125. Cache 6730 isimplemented to cache access to the Ordered Trees. Datastorefile 6735provides storage implementation for Data store 6620 independent of Editstore 6615. Localstorefile 6740 provides implementation of serializationof data for edit store 6615 and aggressive disk and memory caching. Themethod for storing and retrieving the Ordered Trees is implemented underthis operation.

As illustrated by FIG. 67B, Definer uses four classes to provide theservices that are required to store and retrieve Ordered Trees. Thesefour classes are Account manager 6745, Site manager 6750, Page manager6755, and Httpservicecontext 6760. Account manager 6745 handles thecollection of users' sites. It provides functionality to manage users.Site Manager 6750 manages each user's site. It provides for the creationand deletion of sites and listing the pages that belong to a site. Pagemanager 6755 provides for the creation and deletion of pages. It alsoprovides the mechanisms to retrieve and save a user's page.Httpservicecontext 6760 provides facilities to determine the stateinformation that is stored about the user. This information includes theusers cut and paste buffer. Each of these managers interface directly toan Editstorerequest 6765. Editstorerequest 6765 provides the managinglogic for the relationship between Edit store 6615 and Data store 6620.It decides when information needs to be retrieved from data store 6620and when information should be flushed to data store 6620. It alsoprovides interface for serialization and implementation of logic forlocking mechanisms.

FIG. 68 illustrates the data structure of a sample site definitiongenerated by Site Definer. As shown in FIG. 68, a site definition isactually an ordered tree containing a list of pages, where each page isin turn an ordered tree containing a list of content components. Eachcontent component in a web page includes meta-data for generating therequisite HTML for the web page. For instance, a component may comprisemeta-data for generating an image or a paragraph of text. Each componentalso includes a plurality of method files, including edit, view,publish, edit-component, etc. Advantageously, these method files enablethe WYSIWYG editing of a template web page provided by the Web Definer.

The Web Definer first constructs the structure of the template web siteaccording to the site definition, as displayed in area 5305 of FIG. 53.Referring once again to FIG. 48, the Web Definer employs the view methodfile for each component of a web page to dynamically generate the HTMLfor the content to be displayed in template web site area 4805. Theemployment of the edit method file enables a user to edit the content ofeach component, e.g., the actual text of a component. The component-editmethod file allows a user to control the attributes of a component, suchas text font, size, alignment, etc. FIG. 51 illustrates text changewindow 5100, which is an illustrative embodiment of the user interfacefor the component-edit method. When a user has completed editing andelects to publish a site, the publish method is employed, generates theHTML for the web page to be published and loads it onto a web server forhosting the published site.

The WYSIWYG editing of the template web site, including the content andnavigation of the site, is possible because these features are handleddynamically by the Web Definer using the ordered tree data structure. Inother words, each page is regenerated according to the ordered treecorresponding to the template web site every time the site is edited. Assuch, a user can instantaneously review any changes to the template website. In any known prior art system, changes to a web site, e.g., addinga page, requires modifying all of the pages of the web site to reflectsuch changes. With the Definer system, the user is given a simplemechanism of choosing a navigation model, wherein changes to thenavigation of a web site is automatically incorporated to all relevantweb pages.

As stated above, a published web site may include a shopping cart, whichmay be an applet. In accordance with the invention, the applet for theshopping cart goes through a firewall, which normally blocks genericapplets.

There are both advantages and disadvantages to using an applet as ashopping cart. One of the many advantages is, of course, once the appletloads, the shopping experience for the end-user is much quicker. Theapplet also always loads progressively, so instead of loading the entireapplet at once, it knows what functions the user will want to usestraightaway and loads them first and while they're actually using it,other classes of the applet are being uploaded even while the user isunaware of it. The applet is unlimited in the amount of product someonecan sell.

Web Site Referrals

In accordance with another aspect of the invention, web sites createdand published using Definer may be provided with referrals to oneanother or to other non-Definer web sites under the Universal ContentManager.

FIGS. 69A and 69B illustrate a process 6900 for gathering and validatingweb site referrals from a site owner/builder or user in accordance withthe invention. Process 6900 provides for constructing referrals, orlinks, to other web sites that may be related or relevant to a web sitepublished using Definer. For example, a web site for a buildingcontractor designed and published using Definer may include links tosites for: hardware companies, excavators, architects, etc. Thus,process 6900 builds natural “full service” groups among a network of websites created using Definer. Advantageously, process 6900, according tothe invention, provides: impetus to a site builder to tell businessassociates about Definer, thus expanding the network of Definer-createdweb sites; information for sending more individualized invitations tojoin the Definer network; a system where a site visitor to a specificsite finds more sites that suit their interests, thus promoting trafficof all sites within the Definer network; a list of other sites in thenetwork that appear to be natural partners to increase the cooperationand communication between site builders in the network. The end resultis an environment where we can categorize and understand the sites inour network and understand the usage patterns of the visitors to thisnetwork. This is invaluable information that can be used in a multipleof initiatives ranging from buying patterns for customer care anddirection to electronic malls and yellow pages style environments.

FIG. 69A illustrates phase 1 of process 6900 for building a businessnetwork of referrals among Definer web sites. It is noted that allcommunications to the web sites and their owners may be accomplishedthrough various communications media, including e-mail. At any pointbefore a web site is published using Definer or after a customer visitsa Definer-created web site, a referral page (1.1) initiating process6900 may be displayed at client terminal 125. At step (1.2), a requestfor a list of businesses that a customer would also buy from isdisplayed. Such a list of companies would include natural partners forthe company owning the web site (i.e., if a customer buys from thiscompany, who else would they refer the company to? Such referrals mayinclude friends, associates etc.). At step (1.3), each company in thelist is processed and validated (process 6900) to create a valid set ofcompany names, each with a Standard Industry Code (SIC), by executingcompany validation process 6900 shown in FIG. 69B. It is noted thatvalidation process 6900 could be done off line and driven via Emailstelling a site builder when to return and continue the process.

At step (1.4), standard referral companies that pay the web site ownerand the host of Definer a referral fee are added to the list. An emailmay be sent to the web site owner or builder to return and finish thereferral page, or the referral page may be completed as the web site iscreated and published using Definer all at once. Sites of owners whowish to be included may also be added to the list of referral pages fora fee. Other natural referral sites that like-minds find to suit thebusiness type may also be added to the list. As shown by step (1.9),paying referral companies from a Data Store are added to the referrallist.

At step (1.5), a list of partners with a check box to request referralinclusions is forwarded to the web site owner or builder. A page ispresented to the site owner/builder showing the full collection of thepossible sites to be included as referral sites with check boxes forselecting each of the companies that the owner/builder wishes to includeon the referral page. The referred-to sites that are created usingDefiner and paid sites already have the company details and descriptionsfilled out and cannot be changed. The non-Definer sites have this areafilled with the information that are validated from the SIC code look upbut can be changed by the site owner/builder. Links to the referred-tosites on a referral page may include a small section stating why acustomer should go to referred-to site (or use this company if they arenot on line yet), we could have a standard for this but have the abilityfor the site builder to change it.

At step (1.6), it is determined whether a referred-to site is aDefiner-created site. In accordance with the invention, there is specialprocessing for a Definer-created web site when it is being referred to.This processing provides the feeling of being part of the Definernetwork and more control over the business and Internet referrals of thesite. It may also provide incentive for the site owners to return totheir sites on regular intervals to continue working on them

If the referred-to site is a Definer-created site, process 6900 proceedsto step (1.7), where a notification is sent to the referred-to siteowner asking whether to include their site on the referral list. Anotification is sent to the Definer-created site owner that another siteowner wishes to refer to them in their web page. This is an email thatincludes a link to a specific page for managing this process. This willgo to the referral system page and hopefully act as an impedance onadding further referrals

At step (1.8), the referred-to site owner is provided with informationon the referring site and asked whether the referral is acceptable(1.13) and whether to add a referral back in the referred-to site(1.11). A site owner receives an email informing that a Definer-createdsite owner wishes to have them on their referral page. A link in theemail directs them to their referral page manager and shows them thesite that wants to refer to them, it also asks them if they wish torefer back.

If the referred-to site is not a Definer-created site, process 6900proceeds to step (1.10) when a notification is sent to the referred-tosite informing that the Definer-created web site is now referring to itand inviting the referred-to site owner to register. In accordance withan embodiment of the invention, details from the information receivedfrom the original referrer may be user to pre-build a new web site forthe referred-to site owner, a password would be included in the site toensure security.

At step (1.11), it is determined whether the referred-to site requeststo have a referral back to the referring site added. If so, then step(1.8) is performed for the referring site informing of the referralback. If not, process 6900 proceeds to step (1.12) where the referringsite is informed that a referral back was not elected.

At step (1.13), it is determined whether the referred-to site agrees tohaving their site referred to. If not, at step (1.14), the referringsite is informed that the referral request was rejected.

If the owner of a non-Definer referred-to site chooses to register atstep (1.10), or if the owner of a Definer referred-to site agrees to thereferral, process 6900 proceeds to step (1.15). At step (1.15), thereferral information is processed so that a provisional referral page isprepared and the referring site is informed. At step (1.16), a pageshowing the referrals and their status is forwarded to the referringsite and the referring site builder is allowed to edit the provisionalreferral page using the Definer interface. It is noted that thedescription of the referred-to site on a referral page may be locked sothat only the referred-to site owner may change or edit its contents.

In conjunction with process 6900 (at step (1.3)) shown in FIG. 67A,process 6900 is performed for validating and classifying the actualreferrals from the referring site builder. As illustrated in FIG. 67B,process 6900 receives a list of companies that have been entered asnatural partners and return a list of validated companies classifiedinto their SIC codes. It is noted that process 6900 could be done offline so it is run on a separate system at a separate time. Thus, thelist of referrals from process 6900 may be stored and all the dataaccess to find the companies done off line. The referring site builderis sent an email stating that the system has found x companies that areready for validation. This then acts as an impetus to get the referringsite builder back to do more work on their site.

Process 6900 begins by processing (2.1) each company from the enteredlist is processed and retrieving (2.2) specific information for eachcompany. Such information may include: Company Name; Address; Phonenumber; and Definer SIS code.

A list of all Definer sites is retrieved from a Data Store at step(2.3), and each company from the entered list is looked up in theretrieved Definer sites at step (2.4). At step (2.5), it is determinedwhether an entered company owns a Definer site.

Concurrently at step (2.6), a repository of non-Definer companies or anexternal service is queried and companies determined not to own Definersites at step (2.5) are searched from the repository or external serviceat step (2.7).

At step (2.8), it is determined if an exact match is found at step(2.7). If a match is found in either step (2.5) or (2.8), process 6900proceeds to step (2.9) where the company information is forwarded to thereferring site owner for validation. At step (2.10), it is determinedwhether the company name and SIC code description are correct. If so,process 6900 proceeds to step (2.11) where it is determined whether thevalid company owns a Definer site.

If the company information is determined to be incorrect at step (2.10)and if the company name is determined to be valid at step (2.13),process 6900 proceeds to step (2.12) to preload the company data butleave SIC Code to be filled.

If the valid company owns a Definer site, as determined at step (2.11),process 6900 proceeds to step (2.14) where the description of what thecompany does is extracted from the Data Store, which is the same as thatof step (2.3). Next, at step (2.15), the owner of the referring site isrequested to provide a description of what this referred-to company doesand how it relates to its business.

If an exact match is not found for an entered company, in steps (2.8)and (2.13), process 6900 proceeds to step (2.16) where it is determinedwhether any company names similar to that of the entered company werefound. If so, a list of choices of possible company names that aresimilar with SIC code descriptions is provided to the referring siteowner, as shown by step (2.17). Next, at step (2.18), the referring siteowner is asked whether the intended referred-to site (partner company)can be found from the list provided at step (2.17).

If the referring site owner cannot find its partner at step (2.18), orsimilar names to the entered company cannot be found at step (2.16), andafter company data has been preloaded at step (2.12), the data enteredfor the partner company is provided to the referring site owner, asshown at step (2.19). The site owner is also requested for details,including SIC Code.

Once the company descriptions have been entered by the referring siteowner at step (2.15), process 6900 proceeds to step (2.20) where thelist of partner referrals is loaded into the Data Source at (2.21).

External Components

In accordance with the invention, an SDK, a state-of-the-art,leading-edge package is provided so that software developers may createexternal web-server-hosted applications that generate custom content forinclusion within a page of a Definer web site. The SDK allows developersto use the code that is at the heart of the Definer ApplicationProgramming Interface (“API”), giving them full access to the veryfoundations and frameworks of the unique Definer material.

These third party applications, or components, described thus far as“external” components (denoted DXC hereinafter), may be registered andstored in a database (DXC Registry) located on a central server, such asData Store 6620 described above. DXC Registry would contain referencesto the locations of all available DXC implementations.

A DXC produces HTML representations of DXC instances, which are specificinstances of a DXC embedded in a web page, for both the Definer editingenvironment and the published run-time environment. Definer submits HTTPrequests to DXCs in response to user actions in providing a DXCinterface.

A DXC interface is an entry-point into the DXC implementation. The SDKspecifies a number of DXC interfaces that DXCs should support. Eachinterface handles a specific type of request. An interface may be a URL,and the same URL may be used to handle multiple interfaces. The simplesttypes of requests include requesting a DXC to return the HTMLrepresentation of a DXC instance. The HTML returned may vary dependingon the type of user interface requested, for example, the edit interfaceversus the run-time interface.

There are other DXC interfaces that support manipulating the propertiesof DXC instances, although in many cases Definer's built-in PropertyPage, which is a data entry form that allows users to manipulate theproperties of a DXC instance, is sufficient for this purpose. A DXC mayoverride the default Property Page by supplying the HTML for a customProperty Page. There is a specific DXC interface for this purpose, whichwill be described in detail below.

When a DXC is registered with Definer, an HTTP URL is recorded for eachregistered interface. These URLs point to the server-side applicationsimplementing each interface, which may include anything that isaccessible via HTTP, for example, a servlet, a Computer GraphicsInterface (“CGI”) script, or even a static HTML page.

DXC interfaces may include: Edit—return the “Edit Mode” HTML for a DXCinstance; Preview—return the “Preview Mode” HTML for a DXC instance;Runtime—return the “Publish Mode” HTML for a DXC instance; PropertyPage—return a custom HTML form allowing users to enter configurationdata for a DXC instance; Edit Event—manipulate the properties of a DXCinstance and/or perform some server-side processing in response to auser event in Definer; Runtime Event—if a DXC produces dynamic resultsat runtime, then runtime events are dispatched to this interface;Preview Event—mimic the behavior of the Runtime Event interface within arestricted “Preview” environment.

The “Edit Mode” allows Definer users to visually manipulate the DXCs ona page. The “Preview Mode” allows Definer users to preview pages intheir site before publishing. The “Publish Mode” represents the run-timeversion of a published Definer page.

FIG. 70 shows external DXC interfaces 7002 that may be invoked atedit-time by a Definer user 7005 using Definer 7007, and at runtime by aWeb Visitor 7010 using a Definer published Web Page 7015. As shown inFIG. 70, a DXC Edit Engine 7020 provides DXC interfaces 7002 to Definer7007, thereby enabling Definer user 7005 to edit the properties of a DXCas stored in DXC Registry 7025 and DXC Instance Data 7030. At runtime, aDXC Runtime Engine 7035 provides Runtime interface 7040 and RuntimeEvent interface 7045 to published web page 7015.

Each DXC interface 7002, as shown in FIG. 70, will now be described indetail by their corresponding categories, as follows: presentationinterfaces; event interfaces; and property page interface.

Presentation Interfaces

Presentation Interfaces are responsible for generating and returning anHTML representation of a DXC instance. They do not modify the DXCinstance in any way. The HTML returned by a Presentation Interface mayor may not be a complete HTML page. Definer strips any page markup (like<HTML> or <BODY> tags) from the returned HTML to ensure it fitscomfortably inside a host page. Presentation interfaces include: RuntimeInterface (7040); Preview Interface (7050); Edit Interface (7055)

The Runtime Interface 7040 is responsible for generating the HTML for aDXC instance to be included in a published web site. Runtime interface7040 is invoked during the site publication process. If the DXC isdynamic at runtime (i.e. it supports runtime events) then RuntimeInterface 7040 is invoked after every runtime event, as will bedescribed below, to refresh the DXC HTML within the page being viewed.

The Preview interface 7050 is responsible for generating the HTMLrepresenting a “preview” of the DXC within the Definer editingenvironment. This “preview” version should appear identical to theRuntime version on a client terminal. If no Preview Interface isregistered for a DXC then Runtime Interface 7040 is used to generate thepreview HTML. The main reason for registering a distinct PreviewInterface 7040 is to generate different hyperlink targets for a previewmode, where users preview a page before publication.

The Edit interface 7055 is responsible for generating the HTML toinclude in an editable Definer web page. The output appears similar tothe Runtime and Preview HTML, but may include additional links andcontrols to support editing the DXC properties. When in an edit mode(for instance, when a page containing a DXC is being edited using WebDefiner as described above), Definer automatically attaches a specialhyperlink to each DXC in a page. A context menu appears when thishyperlink is activated, allowing the user to perform standard editingfunctions such as deleting the DXC or accessing the DXC's property page.Thus, if no Edit Interface is registered for a DXC, then the Preview orRuntime interfaces will be used instead. Property Page editing is stillpossible through the standard edit menu of the DXC.

Event Interfaces

Event Interfaces are responsible for processing event messages. Theyreturn updated property values for Definer (or the runtime engine) tostore against the target instance. The new property values are returnedas header fields of the HTTP response. The names of the response headerfields should match the corresponding property names (including the“dxc_-” prefix).

Events may be triggered in two ways:

-   -   by the user submitting a Property Page; or    -   by the user activating a callback hyperlink within the DXC.

If an event is triggered by a Property Page submission, then all formfields from the Property Page are included as additional parameters tothe Request.

If an event is triggered by a callback, then an additional parameternamed “dxc_message” is included in the request. This parameter containsdetails of the triggered event. Callbacks will be described in furtherdetail below.

Apart from returning property updates via the HTTP response header,Event Interfaces should not return any actual HTML content in theresponse. Any content returned is simply discarded.

Event interfaces include: Runtime Event Interface (7045); Preview EventInterface (7060); and Edit Event Interface (7065).

The Runtime Event interface 7045 is invoked whenever a runtime callbackis activated on a DXC being viewed in a published site. The propertiesof a DXC instance cannot be modified at run-time, so any propertyupdates returned in the response from Runtime Event interface 7045 isnot saved in any database. Instead, the new property values aretransferred into a hidden HTML form within the result page. Subsequentevents triggered from within that result page use the latest propertyvalues from the hidden form in preference to the persistent propertiesof the DXC instance. Thus, several site visitors may view the same DXCinstance simultaneously, and each visitor may individually modify theruntime properties of the DXC instance without affecting the othervisitors. Each individual runtime version of a DXC instance is referredto as a DXC Image.

After every invocation of Runtime Event Interface 7045, Runtimeinterface 7040 is called to reconstruct the HTML for the DXC image.

The implementation of the Preview Event interface 7060 closely mimicsthe behavior of Runtime Event Interface 7045. If there is no PreviewEvent Interface registered for a DXC, then Runtime Event Interface 7045used instead. Preview Event Interface 7060 is only required if thebehavior of the DXC needs to be different in Preview mode as opposed toruntime.

After every invocation of Preview Event Interface 7060, Previewinterface 7050 is called to reconstruct the HTML for the preview image.

The Edit Event interface 7065 is the only interface that can triggerpersistent updates to the properties of a DXC instance. Edit Eventinterface 7065 is invoked in response to an Edit Mode callback or aftera Property Page has been submitted. The details of the event aresupplied in either the “dxc message” request parameter (in the case of acallback), or in a set of request parameters that correspond to the formfields from the Property Page.

The DXC is responsible for interpreting the event, performing anyappropriate server-side processing, and returning any property updatesvia header fields in the HTTP response. Definer saves all propertyupdates returned by Edit Event interface 7065. In the case of a PropertyPage event, any fields from the Property Page form with field namescorresponding to property names are automatically saved by Definer.There is no need for the DXC to return property updates from a PropertyPage event unless the DXC overrides or amends the form data (forexample, the DXC may trim trailing spaces from the user-suppliedproperty values).

Property Page Interface

Despite the existence of Definer's generic property page for DXCs, thereare several reasons for developing a custom property page for a DXC.Some reasons may be:

-   -   to improve on the look and feel of the generic property page;    -   to support complex data structures;    -   to improve the usability and type safety of the form by creating        list boxes, radio buttons or other form controls; and    -   to restrict which properties can be viewed or edited via the        property page.

The Property Page Interface 7070 may be implemented if the defaultproperty page is overridden. Property Page interface 7070 simply returnsa set of pre-filled HTML form fields with a desired layout. The <FORM>tag or any “Submit” controls are not returned because Definerautomatically constructs a Property Page skeleton including theseelements. The HTML returned from Property Page Interface 7070 is simplyinserted into the pre-fabricated skeleton.

If the name of a target property is used as the name of thecorresponding form field, the form field is automatically transferredinto DXC property values when the form is submitted. Definerautomatically saves any fields it recognizes as properties (unlessoverridden by Edit Event Interface 7065).

However, Property Page may not correspond directly with the propertiesdefined for a DXC. For example, the entire state of the DXC may beserialized as EXtensible Markup Language (“XML”) and stored in a singleproperty. Rather than making the user edit the XML document directly, aProperty Page may be provided to allow the user to modify the individualelements of the XML structure. To achieve this, Property Page Interface7070 and Edit Event Interface 7065 are used. Form fields that do notcorrespond to property names are created using Property Page Interface7070. When the property page form is submitted, Definer forwards all ofthe form data to Edit Event Interface 7065, which constructs the XMLdocument from the form data and returns it as a property update in theheader of its response.

DXC interfaces 7002 may be selectively registered for different DXCs, aswill now be described.

Registering DXC Interfaces

As an example, a pre-existing web page, with no configurable propertiesand no dynamic run-time behavior may be registered as a DXC via aDefiner DXC Registration web site. For this simple example, only aRuntime interface (7040) needs to be specified. The pre-existing webpage may be made available for insertion into Definer web pages bysimply registering a Runtime interface (7040) pointing to the URL of theweb page. With the Edit and Preview interfaces blank, Definer uses theRuntime interface in the editing environment as well as the runtimeenvironment. If a Preview interface but not an Edit interface isspecified, then the Preview interface would be used for all Editinterface requests. FIG. 71 is a flowchart illustrating how Definerdispatches user requests to the appropriate DXC interface.

Since the Publish interface points to a static HTML page, all Definerrequests to this DXC simply retrieve the page and display it within ahost page. No configurable properties need to be registered for thisDXC, and thus a Property Page interface (7070) is not needed. Since thecomponent does not generate any event callbacks, Event interfaces arenot needed.

Registering DXC Properties

The configurable properties of a DXC are stored in the DXC registry(7025) at registration time. Since Definer maintains a number ofinternal attributes for each DXC instance, DXC property names areautomatically prefixed with “dxc_p_” to differentiate them from theinternal attributes. Each instance of a DXC maintains a copy of eachregistered property. The properties of a DXC instance collectivelyrepresent the “state” of that instance.

Whenever a request is submitted to a DXC, the state of the targetinstance is passed to the DXC interface by including each property as arequest parameter. The DXC then interprets the state of the instance anddynamically generates the corresponding HTML. Definer provides a genericProperty Page for editing the properties of a DXC instance. The DXC mayoverride the generic Property Page by implementing and registering aProperty Page interface. Alternatively, the DXC may use callbacksembedded within its Edit Mode HTML to allow visual editing of propertieswithin the Edit page itself.

For example, a DXC for maintaining a FAQ section of a site may includevisual editing controls within its Edit interface, as shown in FIG. 72.If these controls are linked to DXC callbacks, then the properties maybe modified without using a property page at all.

Next, specifications for DXC interfaces will now be described.

Interface Specifications

Every HTTP request to a DXC interface includes the following requestparameters:

-   -   dxc_interface: Identifies the interface being invoked. If two or        more interfaces share the same URL, then this request parameter        can be used to determine the type of request.    -   dxc_id: The unique identifier of the target DXC instance. This        is a number generated by Definer whenever a new DXC instance is        created.    -   dxc_age: The name of the web page that contains the DXC        instance.    -   dxc_user: The user id of the Definer user, or the runtime user        (if known).    -   (Instance Properties) The state of the DXC instance. Any request        parameter name starting with “dxc_p-” identifies a property of        the instance.        Implementing Callbacks

There are a number of different ways in which DXC edit interfaces may beimplemented. One example is a custom “Property Page” supplied by thecomponent developer. Other alternatives include custom applets, or even“in-place” editing within the DXC's edit page.

For both the applet and the in-place editing approaches, the DXC needsto be able to send itself “messages” in response to user actions orevents. However, the DXC cannot call itself directly without losing thecontext of its host page. Thus, all messages may be routed throughDefiner or the runtime engine, which may be accomplished with callbacks.

The implementation of Definer callbacks, as well as a few other featuresthat simplify in-place editing, will now be described in detail.

FIG. 73 depicts a sample document containing a valid DXC callback. Thedocument contains a couple of Definer “macros” which are meaninglessoutside of the Definer environment, but if the document is produced by aDXC for inclusion within a page of a Definer web-site, then the macroscan prove very useful.

The “{% dxc_init}” macro at the top of the body, as shown in FIG. 73, isintercepted by Definer and replaced with a number of pre-definedjavascript functions. Among those functions is the “DXCCallback_{% id)”function. The {% id} macro is replaced by Definer with the unique id ofthe DXC instance, allowing many DXC instances to import the same set offunctions into the same page without introducing name conflicts. Anyreference to a DXC javascript function may include the “_{% id)” suffix.

The “DXCCallback_{% id}” function sends a request to Definer, asking forthe specified message to be forwarded to the DXC. In the above example,if the user clicks ‘Notify’ on the page, then the same DXC instance thatproduced the HTML would be sent the message “UserClickedNotify”. The DXCcan interpret and respond to the message any way it chooses.

The format and meaning of any callback message is entirely defined bythe DXC. Since the DXC constructs the HTML that contains the callbackmessages, it should know how to interpret the messages it receives.

Invoking the Definer Text Editor

The Definer Text Editor, e.g., text editor dialog box 2000 shown in FIG.20, is an applet that allows the user to visually edit and format HTMLtext. DXCs can make use of the Definer Text Editor as a cheap and easyway of providing rich text editing features within the DXC. A sampleimplementation is illustrated in FIG. 74.

In the example shown in FIG. 74, when the user clicks ‘This is sometext’, the Definer Text Editor is launched containing the text specifiedin the first parameter passed to DXCTextEdit_{% id}, i.e. ‘This is sometext’. Assuming that the user edits the text to read ‘The text haschanged’, then Definer forwards the message “NewTextData=The text haschanged” to the DXC. It is noted that the second parameter to theDXCTextEdit_{% id} function (the message to send) contains the specialsymbol “% at”. This symbol is replaced with the output of the TextEditor before the message is sent.

Using Popup Menus

Popup context menus are a useful feature for DXCs that have complexediting features. Definer allows DXCs to create and use popup menusrelatively easily.

FIG. 75 shows a sample implementation of a popup context menu. The menusand the menu items are defined. Definer provides a macro to simplifythis task. The {% dxc menu . . . } macro requires two parameters(separated by single spaces). The first is the name of the menu, whichwill be described later. Each menu name is unique within a DXC, however,two different DXCs may create menus with identical names without risk ofconflict.

The second parameter to the {% dxc menu . . . } macro is a list of itemnames, separated by the pipe character (“|”). The whole list may beenclosed in single or double quotes (it is noted that the menu nameitself is not quoted). The item name list specifies the text thatappears for each item in the menu. In this example, the menu has 3items. Their captions are “Option I”, “Option 2”, and “Option 3”.

Next, a URL is assigned to each menu item. One of these URLs is invokedif the user selects the corresponding menu item. The URLs are assignedto menu items within a block of JavaScript. The DXCSetMenuItem_{% id}function (imported via {% dxc init}) takes 3 parameters—the menu name,an item name and a URL. In this example, the URLs point to JavaScriptfunction calls that invoke a DXC callback for each item. Each iteminvokes a callback with a different message when selected by the user.

Finally, a link is provided that shows the popup menu when the link isactivated. An anchor is used to point to a DXCShowMenu_{% id} functioncall. When the user clicks the ‘Click here for menu’ link, the menu‘popl’ is displayed. If the user selects any item from the menu, thenthe corresponding message is sent back to the DXC.

Interaction between a DXC, a host web page, and various API's

FIG. 76 illustrates DXC interaction at edit time, and FIG. 77illustrates run time interaction between a DXC, a host web page, andvarious API's (if the DXC is on a Definer Server).

FIG. 78 is a flow diagram illustrating the flow of control at runtimefor a DXC containing static HTML. With reference to FIG. 78, the flow ofcontrol is as follows.

Part 1: This is a process by which an instance of the object “ExternalDXC Wrapper” is created for every DXC. The HTTP interfaces of thisobject are set via the DXC database (not shown in the diagram).

Part 2: It is the responsibility of the External DXC Wrapper to pass allthe necessary parameters to the external HTTP interface. It obtainsthese parameters from the metadata store.

These parameters are identified by the prefix “dxcp ”

Part 3: The Runtime HTTP interface gets called with the relevantparameters passed in.

Part 4: The runtime interface can in turn call a remote application.

Part 5: The remote application returns.

Part 6: Assuming that the interface returns static HTML, this getsreturned to the External DXC Wrapper.

Part 7: The header of the HTTP can contain any instance data that needsto be stored. Any parameters that begin with “dxcp ” will be stored inthe metadata.

Part 8: The static HTML is in turn passed back to the Page.

FIG. 79 is a flow diagram illustrating the use of filters and convertersin the process illustrated in FIG. 78. As shown in FIG. 79, steps 1through 7 are similar to those of FIG. 78. Part 8 is replaced by thefollowing.

Part 8: In the example shown in FIG. 78, the External DXC Wrapperreturned the static HTML without any modification. In this case,however, the HTML is first filtered or converted before being returned.

An example of such a filter would be one that removes all other sectionsof HTML other than the body before passing it back to the server page.Filters can be cascaded and can be specified for each interface.

FIG. 80 is a flow diagram illustrating the process illustrated in FIG.79 with the addition of Server Side Includes (“SSI”s). As shown in FIG.80, the process further includes Parts 10 & 11.

Parts 10 & 11: Show the data flow to cope with SSIs. Any such SSIs areprocessed prior to the data being returned to the client.

Billing

The billing subsystem provides the necessary functionality for DXCowners to charge for the usage of their DXCs. There are obviously twotypes of billing interfaces: Internal and External billing interfaces.If a user has registered a billing interface, then the “External DXCWrapper” invokes this interface. If there is no registered billinginterface then an internal one is used.

FIG. 81 shows the interaction between a DXC and a billing sub system.

Parts 1, 2 and 3 are similar to those described in FIGS. 78 and 79.

Part 4: The Billing HTTP interface is called with the relevantparameters passed in.

Part 5: While the data from the HTTP response is saved as metadata forthe runtime interface, the data may be saved in the billing database.

Part 6: If a billing interface was not registered, then depending on theinternal billing model chosen during registration, an internal interfacemay be invoked.

Part 8: Irrespective of which billing interface is used, several otherbilling tasks are performed.

Billing Database (“DB”) API

As shown in FIG. 82, the Billing DB API is provided to save and returnbilling information per user per DXC version (Registration ID). ABilling Information Class defines the types of data stored in a billinginformation structure. Thus, the Billing DB API allows DXC developers toget statistics on DXC usage.

A Payment DXC accepts secure payments for DXCs, stores the resultingbilling information via the Billing API (uses the DXC DB API to retrieveinformation regarding the DXC), and facilitates payment to the DXCowners. Payments may be made per DXC or per developer.

A report on the amount of credit available may be generated with awarning on low credit (via email). A trigger that determines the lowcredit warning may be specified as a percentage. A reporting APIprovides the API's that a billing core may use to trigger a warning ifthe credit is low.

A Billing Core provides the basic functionality of verifying that a DXCmay be used. The steps include: incrementing the usage counter (it isthe only module that knows about the billing model); save informationabout the billing model via the Billing DB API; and interface with DXCsthat have been paid for by sponsors. A Billing Core API increments usageand tests if the DXC been paid for.

Rules

At registration a DXC developer is presented with a choice of thefollowing billing options: billing via the developer's own interface; apredetermined provider billing system; no billing (no usage trackingeither); free (no charge); or one of a number of other models (e.g.,free for the first x days or y uses, then charged . . . ). If the DXChas a registered billing interface then this interface is called everytime the DXC is used. A name value pair returns the result. If a userchooses “No billing,” then billing API's are not used. If the DXC isFree, then the usage is tracked. If the DXC is not free and there is nobilling interface registered, then the billing is determined by thebilling model for that particular DXC. The following are some of thebilling models: free for first N days (per user); free for the first Muses (per user); and subsequent to the period during which it is freecharges are applied (e.g., $X per day (per user) or $Y per use). Forsuch billing models, N, M, X & Y need to be stored as part of thebilling information.

Versioning and Billing

The billing interface invoked or the internal billing model used dependson the version of the DXC being executed. Once an older version isconverted to a newer version, the billing model used becomes that of thenewer one. Credit is stored per DXC or per DXC writer. Hence a user maynot need to have a separate credit account just to be able to use thenewer version of a DXC. Available credit is stored in a form that isindependent of the billing model (stored as $). Hence it may be possiblefor versions of the same DXC to use different billing models.

Life Site

In accordance with another aspect of the invention, a Life Site with theDefiner interface may be provided to an end-user. Life Site is aserver-based interface that enables an individual to manage all personalcontent on the Internet in a protected environment. Individuals are ableto organize, manage and store all their relevant information in acentralized storage for management of important personal information(e.g., biographical data, property, passport information, socialsecurity number, moving violations, employment history, insurancepolicies, product warranties, etc.). Life Site also provides the abilityfor an individual to manage the navigation (“surfing” or visitation”) ofinformation on the Internet through their own life site. Thus, importantpersonal information is easily retrieved via the Web, enabling mobilityand providing a greater sense of information/data security

Since the Life Site is accessed with a Web interface, it is PCindependent with the ability to manage and retrieve information fromwherever there is a Web connection. Individuals are less dependent ontheir own ability to manage technology advances because such advancesmay be incorporated to the Life Site at the central server.

Extranet Business Infrastructures

In accordance with another embodiment of the invention, extranetbusiness infrastructures may be provided under the Universal ContentManager. With an extranet created according to the invention, companiesmay interact with each other in a custom-built, dedicated environmentwhich will envelop all aspects of their business operations. It is aserver-based system featuring easily-managed Universal Content Manageruser interfaces, enabling manufacturers, sub-contractors, wholesalersand retailers to communicate and transact with high efficiency. AmongExtranet's many benefits to businesses of all sizes are:

The ability to bypass the channel conflicts inherent in broad-basedInternet activity;

Professional presentations of a wide variety of information, includingtext, graphics, video and sound;

Secure and efficient processing and distribution of orders back-orders,transactions, billing, and account summaries;

Up-to-the-minute dialogues between inter-dependent, industry-specificbusiness and business groups; and

Streamlined general and custom-targeted communications

As Extranet systems become woven into a broad variety of businesslandscapes, DXCs may be created and integrated into the UniversalContent Manager interface by third-party developers. These participantsmay utilize the application program interface (API) contained in theSoftware Development Kit as—thereby fueling the ongoing expansion of theUniversal Content Manager on an exponential, ever-widening basis.

them a SIC code.

Billing Processes

An end-user may be directed to the Web Definer welcome page 4600 toregister in a number of ways:

-   -   visits the page of a Sponsor, which may be on server 105, as a        result of the Sponsor's marketing effort.    -   visits the Web Definer welcome page 4600 as a result of        marketing.    -   visits the page of a Sponsor as a result of a Click-Through on a        Sponsor's Logo at an existing Customer's Web Site.    -   visits the Web Definer page 4600 as a result of a Click-Through        from the Logo of the provider of Web Definer.

Once registered, the basic product offered to the customer includestheir site, wrapped inside a frame. The bottom frame includes thefollowing:

-   -   Customer Web Site Server Logo, which when clicked takes the        customer to the Web Definer welcome page 4600;    -   Advertisement;    -   Sponsor's Logo, which when clicked takes the customer to the        Sponsor's page (within the Universal Content Manager        environment) or to the Sponsor's web site.

As a basic billable offering, the customer has the option of paying afee (monthly or annual) to

-   -   Perform Initial Registration. This is currently planned to be        free, but is included here to allow the identification of the        registration event.    -   Remove the Advertisement from the site (and reducing the size of        the lower frame, but retaining the logos).    -   Remove the logos by completely removing the lower frame.

In addition, the customer has immediate ability to choose the followingother (one-time) billable options:

-   -   Select a Domain Name from InterNIC. The customer is given the        ability to select an available Domain Name from InterNIC        (through an online whois facility). The Domain Name will then be        set up dynamically and the appropriate registration request is        sent to    -   Transfer a Domain Name from InterNIC. The customer is allowed to        initiate the transfer of an InterNIC Domain Name to, say, server        105, so that their web site is accessed with their own Domain        Name based on the Definer Software Development Kit. This SDK        enables Third Party Developers to implement server-based        applications, called components or Definer External Components        (DXC). The SDK will define a billing interface for components,        which allow components to register and generate Billing Events        when the component is activated or invoked.

One component available is a Shopping Cart, which is tightly integratedwith Definer. The following Billable events are for the shopping cart:

-   -   Instantiation of the Shopping cart within a Customer's Site.        Currently planned to be free, but included here for        identification of the billing event.    -   Installation of greater than 10 products within the Shopping        Cart.    -   Installation of greater than 20 products within the Shopping        Cart.    -   Installation of higher numbers of products within the Shopping        Cart.

Additionally, a customer may trigger a billing requirement if his siteusage exceeds the following resource limits:

-   -   Bandwidth Utilization.    -   Disc Space        Rating        With the advent of future products, it is essential that the        following flexible rating modes are supported:    -   Start-up or one-off charge (such as a registration fee or        InterNIC registration fee).    -   Recurring monthly or annual charge (such as removal of        advertising or banners).    -   Fixed usage charge for utilization of a resource (such as        running a spell or grammar checker on a site).    -   Resource Charges (such as bandwidth or disc space utilization,        if exceeding the free limit).    -   Layered Charges (such as Shopping Cart utilization depending on        number of items included in the Cart).        Currency Support

It may be a limitation that the billing solution restrict a customer tobe billed in a single currency.

Collections

The following modes of payments should be accepted

-   -   One-line Credit card authorization    -   Off-Line    -   Invoice/Check    -   Direct Debit

Currently, Credit Card payments are processed manually in the country ofthe customer (USA, Australia, Hong Kong). Therefore, Definer initiatesoff-line processing of Credit Card payment through a batch process(written or on-line report). It also automatically generates electronicinvoices for any product. Initially only email invoices will besupported, though in the future it should be possible to include otherforms (e.g. fax).

Interfaces

The interfaces should be implemented in order to allow the billingsystem to inter-operate with the Web Definer and Hosting environments.The Web Servers, such as server 105, will be globally distributed andprovide the necessary primary customer information systems. Component(SDK) Environment Ad Server Environment Customer CareEnvironment—Financial Systems (General Ledger).

Commissions

Sponsorship relationships for sponsoring the Web Definer may include acommission component, where a commission is paid to the Sponsor for apercentage any revenue from customer introduced as part of therelationship. The commission levels may differ for different classes ofproduct: Full-access to Definer or limited-access to Web Definer, etc.

Security

The following security issues are achieved:

-   -   All customer interaction for payment details and other        confidential information are implemented using secure        connectivity, such as SSL. The Customer Control Panel has been        designed to totally utilize SSL.    -   Any internal storage of sensitive Customer information (such as        Credit card numbers) are secure from browsing by unauthorized        staff. This is achieved either through the use of Internal        Encryption of CC Numbers (such as the use of Blowfish by the        Customer Shopping Cart), or some other mechanism.    -   The Billing System resides behind a Firewall to prevent any        unauthorized access.    -   Security Audit        Additional Revenue Sources

When a software developer installs an external component, that componentmay be for sale. Charges may be levied for the following:

-   -   Fee to install the component and offer it for sale.    -   Fee to offer the component to a specific industry segment.    -   Fee to prioritize the listing of the component.

Additional revenue sources may include link exchange functionality.

It will thus be seen that the objects set forth above, among those madeapparent from the preceding description, are efficiently attained and,because certain changes may be made in carrying out the above method andin the construction(s) set forth without departing from the spirit andscope of the invention, it is intended that all matter contained in theabove description and shown in the accompanying drawings shall beinterpreted as illustrative and not in a limiting sense.

It is also to be understood that the following claims are intended tocover all of the generic and specific features of the invention hereindescribed and all statements of the scope of the invention which, as amatter of language, might be said to fall therein.

What is claimed is:
 1. A method for identifying referrals for use ingenerating a website, comprising one or more multi-purpose computingdevices adapted to perform the steps of: requesting a list of companiesfor referrals; validating the list of companies to obtain a valid set ofcompany names; presenting the valid set of company names to select forinclusion in the referrals; receiving a list of selected companies;sending a notification to owners of the selected companies informingthem of the referral; determining whether the selected site belongs to asame network as the website; requesting, when a selected company belongsto the same network, the owners of the selected companies (1) whetherthe referral is acceptable by providing information about the website,providing a link to the website, and providing a link to a page formanaging a referral process, and (2) to refer back to the website;inviting, when a selected company does not belong to the same network,the selected site owner to register with the same network, and utilizingdetails from received information to pre-build a new web site for theselected site; generating one or more referral pages for those ownersthat have elected to refer back to the website; and generating areferral page for the website, the referral page comprising descriptionsof one or more referred sites wherein only the referred-to site ownermay change or edit the contents.
 2. The method according to claim 1,further comprising: generating one or more referral pages for thoseowners that have elected to refer back to the website as a function ofone or more characteristics of the website.
 3. The method according toclaim 1, wherein the referral pages include at least one link to thewebsite.
 4. The method according to claim 1, further comprising:informing that one or more of the owners have elected not to refer backto the website.
 5. The method according to claim 1, wherein the step ofvalidating further comprises: obtaining a valid set of standard industrycodes (SIC) for the valid set of company names.
 6. The method accordingto claim 1, further comprising: adding to the valid set of company namesone or more standard referral companies that have paid a fee for beingadded as referrals.
 7. The method according to claim 1, wherein the stepof presenting a valid set of company names comprises: presenting aprompt for an acceptance of each company in the valid set of companynames.
 8. A multi-purpose computing device for identifying referrals foruse in generating a website, comprising: memory; and a processor thatperforms actions, including: requesting a list of companies forreferrals; validating the list of companies to obtain a valid set ofcompany names; presenting the valid set of company names to select forinclusion in the referrals; receiving a list of selected companies;sending a notification to owners of the selected companies informingthem of the referral; determining whether the selected site belongs to asame network as the website; requesting, when a selected company belongsto the same network, the owners of the selected companies (1) whetherthe referral is acceptable by providing information about the website,providing a link to the website, and providing a link to a page formanaging a referral process, and (2) to refer back to the website;inviting, when a selected company does not belong to the same network,the selected site owner to register with the same network, and utilizingdetails from received information to pre-build a new web site for theselected site; generating one or more referral pages for those ownersthat have elected to refer back to the website; and generating areferral page for the website, the referral page comprising descriptionsof one or more referred sites wherein only the referred-to site ownermay change or edit the contents.
 9. The computing device according toclaim 8, further performing actions comprising: generating one or morereferral pages for those owners that have elected to refer back to thewebsite as a function of one or more characteristics of the website. 10.The computing device according to claim 8, wherein the referral pagesinclude at least one link back to the website.
 11. The computing deviceaccording to claim 8, further performing actions comprising: informingthat one or more of the owners have elected not to refer back to thewebsite.
 12. The computing device according to claim 8, whereinvalidating further comprises: obtaining a valid set of standard industrycodes (SIC) for the valid set of company names.
 13. The computing deviceaccording to claim 8, further performing actions comprising: adding tothe valid set of company names one or more standard referral companiesthat have paid a fee for being added as referrals.
 14. The computingdevice according to claim 8, wherein presenting a valid set of companynames comprises: presenting a prompt for an acceptance of each companyin the valid set of company names.
 15. A system for identifyingreferrals for use in generating a website, comprising: at least onememory; and at least one processor, coupled to the memory, the processoradapted to execute program code to: request a list of companies forreferrals; validate the list of companies to obtain a valid set ofcompany names; present the valid set of company names to select forinclusion in the referrals; receive a list of selected companies; send anotification to owners of the selected companies informing them of thereferral; determine whether the selected site belongs to a same networkas the website; request, when a selected company belongs to the samenetwork, the owners of the selected companies (1) whether the referralis acceptable by providing information about the website, providing alink to the website, and providing a link to a page for managing areferral process, and (2) to refer back to the website; invite, when aselected company does not belong to the same network, the selected siteowner to register with the same network, and utilize details fromreceived information to pre-build a new web site for the selected site;generate one or more referral pages for those owners that have electedto refer back to the website; and generate a referral page for thewebsite, the referral page comprising descriptions of one or morereferred sites wherein only the referred-to site owner may change oredit the contents.
 16. A non-transitory computer-readable medium,carrying a set of computer program instructions, which when executedcauses a computer to perform a process for identifying referrals for usein generating a website, the process comprising: requesting a list ofcompanies for referrals; validating the list of companies to obtain avalid set of company names; presenting the valid set of company names toselect for inclusion in the referrals; receiving a list of selectedcompanies; sending a notification to owners of the selected companiesinforming them of the referral; determining whether the selected sitebelongs to a same network as the website; requesting, when a selectedcompany belongs to the same network, the owners of the selectedcompanies (1) whether the referral is acceptable by providinginformation about the website, providing a link to the website, andproviding a link to a page for managing a referral process, and (2) torefer back to the website; inviting, when a selected company does notbelong to the same network, the selected site owner to register with thesame network, and utilizing details from received information topre-build a new web site for the selected site; generating one or morereferral pages for those owners that have elected to refer back to thewebsite; and generating a referral page for the website, the referralpage comprising descriptions of one or more referred sites wherein onlythe referred-to site owner may change or edit the contents.
 17. A methodfor gathering and validating web site referrals for a first web siteover a network, comprising the steps of: presenting a referral page at aclient terminal, the referral page requesting a list of businessesrelated to the first web site; receiving a first data entry, wherein thefirst data entry includes at least one business name; validating each ofthe at least one business names; correlating each of the at least onebusiness names with a second web site; presenting a list of validatedbusiness names to an operator of the first web site, wherein theoperator has authority to edit the first web site; receiving a seconddata entry, wherein the second data entry includes selection of at leastone of the validated business names; determining whether the selectedsite belongs to a same network as the website; presenting, when aselected company belongs to the same network, a referral page to anoperator of the second web site requesting (1) whether the referral isacceptable by providing information about the website, providing a linkto the website, and providing a link to a page for managing a referralprocess, and (2) acceptance of the referral; inviting, when a selectedcompany does not belong to the same network, the selected site owner toregister with the same network, and utilizing details from receivedinformation to pre-build a new web site for the selected site;generating a referral from the first web site to the second web site;presenting the operator of the second web site with an option toautomatically generate a referral from the second web site to the firstweb site; and presenting the operator of the first web site with anoption to automatically generate a referral page for the website, thereferral page comprising descriptions of one or more referred siteswherein only the referred-to site owner may change or edit the contents.